v1.3.0, Added game saving mechanic (WIP)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using Assets.Scripts;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
@@ -115,36 +116,13 @@ public class AudioHandler : MonoBehaviour
|
||||
|
||||
public void loadAudioSettings()
|
||||
{
|
||||
if (File.Exists(filepath))
|
||||
{
|
||||
string[] lines = File.ReadAllLines(filepath);
|
||||
cameraAudio.volume = float.Parse(lines[0].Split(':')[1]);
|
||||
playerAudio.volume = float.Parse(lines[1].Split(':')[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
StreamWriter sw = File.CreateText(filepath);
|
||||
sw.WriteLine("Music:0.5");
|
||||
sw.WriteLine("Effects:0.5");
|
||||
sw.Flush();
|
||||
}
|
||||
FileHandler.loadAudio(filepath, cameraAudio, playerAudio);
|
||||
}
|
||||
|
||||
public void saveAudioSettings()
|
||||
{
|
||||
float music = GameObject.Find("slideMusic").GetComponent<Slider>().value;
|
||||
float effects = GameObject.Find("slideEffects").GetComponent<Slider>().value;
|
||||
StreamWriter sw;
|
||||
if (!File.Exists(filepath))
|
||||
{
|
||||
sw = File.CreateText(filepath);
|
||||
}
|
||||
else
|
||||
{
|
||||
sw = new StreamWriter(filepath);
|
||||
}
|
||||
sw.WriteLine("Music:"+ music);
|
||||
sw.WriteLine("Effects:"+ effects);
|
||||
sw.Flush();
|
||||
FileHandler.saveAudio(filepath, music, effects);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,11 +11,13 @@ namespace Assets.Scripts
|
||||
UIHandler uihandler;
|
||||
Player player;
|
||||
AudioHandler audioHandler;
|
||||
WorldGenerator worldGenerator;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
uihandler = GameObject.Find("UIHandler").GetComponent<UIHandler>();
|
||||
player = GameObject.Find("Player").GetComponent<Player>();
|
||||
worldGenerator = GameObject.Find("WorldGenerator").GetComponent<WorldGenerator>();
|
||||
audioHandler = GameObject.Find("AudioHandler").GetComponent<AudioHandler>();
|
||||
}
|
||||
|
||||
@@ -111,5 +113,13 @@ namespace Assets.Scripts
|
||||
audioHandler.playButtonClick();
|
||||
uihandler.switchPauseMenu();
|
||||
}
|
||||
|
||||
public void saveGame()
|
||||
{
|
||||
audioHandler.playButtonClick();
|
||||
string saveString = "[\r\n{\r\n\"Player\": {\r\n" + player.saveGame();
|
||||
saveString = saveString + "\r\n},\r\n\"World\": {\r\n" + worldGenerator.saveGame() + "\r\n}\r\n}\r\n]";
|
||||
FileHandler.saveGame(saveString, "./save.json");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
71
Assets/Scripts/FileHandler.cs
Normal file
71
Assets/Scripts/FileHandler.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scripts
|
||||
{
|
||||
public class FileHandler
|
||||
{
|
||||
static StreamWriter sw;
|
||||
public static void saveGame(string data, string path)
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
sw = File.CreateText(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
sw = new StreamWriter(path);
|
||||
}
|
||||
sw.Write(data);
|
||||
sw.Flush();
|
||||
}
|
||||
|
||||
public static void loadGame()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void saveAudio(string path, float music, float effects)
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
sw = File.CreateText(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
sw = new StreamWriter(path);
|
||||
}
|
||||
sw.WriteLine("Music:" + music);
|
||||
sw.WriteLine("Effects:" + effects);
|
||||
sw.Flush();
|
||||
}
|
||||
|
||||
public static void loadAudio(string path, AudioSource cameraAudio, AudioSource playerAudio)
|
||||
{
|
||||
if (File.Exists(path))
|
||||
{
|
||||
string[] lines = File.ReadAllLines(path);
|
||||
cameraAudio.volume = float.Parse(lines[0].Split(':')[1]);
|
||||
playerAudio.volume = float.Parse(lines[1].Split(':')[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sw = File.CreateText(path);
|
||||
sw.WriteLine("Music:0.5");
|
||||
sw.WriteLine("Effects:0.5");
|
||||
sw.Flush();
|
||||
}
|
||||
}
|
||||
|
||||
public static string generateJSON(string key, object value)
|
||||
{
|
||||
return "\"" + key + "\": " + value;
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/FileHandler.cs.meta
Normal file
11
Assets/Scripts/FileHandler.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0aa6cfe5b8d20a24d9aa6ebaa044c2e8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -557,5 +557,28 @@ namespace Assets.Scripts
|
||||
{
|
||||
return role;
|
||||
}
|
||||
|
||||
public string saveGame()
|
||||
{
|
||||
string result = "";
|
||||
result = result + FileHandler.generateJSON("playername", "\"" + playername + "\"") + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("maxHealth", maxHealth) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("maxSecondary", maxSecondary) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("secondary", secondary) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("health", health) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("strength", strength) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("dexterity", dexterity) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("intelligence", intelligence) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("level", level) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("experience", experience) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("maxExperience", maxExperience) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("race", "\"" + race.racename + "\"") + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("role", "\"" + role.classname + "\"") + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("points", points) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("isDodging", "\"" + isDodging + "\"") + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("killcount", killcount) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("difficulty", difficulty);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,4 +214,10 @@ public class Tile : MonoBehaviour
|
||||
{
|
||||
return tiletype;
|
||||
}
|
||||
|
||||
public string saveTile()
|
||||
{
|
||||
string result = "";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Assets.Scripts;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
@@ -178,4 +179,31 @@ public class WorldGenerator : MonoBehaviour
|
||||
{
|
||||
gameObject.GetComponent<Text>().text = "Cities: " + (maxCityAmount - cityAmount) + "/" + maxCityAmount;
|
||||
}
|
||||
|
||||
public string saveGame()
|
||||
{
|
||||
Dictionary<Vector3, GameObject> tiles;
|
||||
GameObject currentTile;
|
||||
string result = "";
|
||||
result = result + FileHandler.generateJSON("cityAmount", cityAmount) + ",\r\n";
|
||||
result = result + FileHandler.generateJSON("maxCityAmount", maxCityAmount) + ",\r\n";
|
||||
/*result = result + "'playername': " + playername + ",\r\n";
|
||||
result = result + "'maxHealth': " + maxHealth + ",\r\n";
|
||||
result = result + "'maxSecondary': " + maxSecondary + ",\r\n";
|
||||
result = result + "'secondary': " + secondary + ",\r\n";
|
||||
result = result + "'health': " + health + ",\r\n";
|
||||
result = result + "'strength': " + strength + ",\r\n";
|
||||
result = result + "'dexterity': " + dexterity + ",\r\n";
|
||||
result = result + "'intelligence': " + intelligence + ",\r\n";
|
||||
result = result + "'level': " + level + ",\r\n";
|
||||
result = result + "'experience': " + experience + ",\r\n";
|
||||
result = result + "'maxExperience': " + maxExperience + ",\r\n";
|
||||
result = result + "'race': " + race.racename + ",\r\n";
|
||||
result = result + "'role': " + role.classname + ",\r\n";
|
||||
result = result + "'points': " + points + ",\r\n";
|
||||
result = result + "'isDodging': " + isDodging + ",\r\n";
|
||||
result = result + "'killcount': " + killcount + ",\r\n";
|
||||
result = result + "'difficulty': " + difficulty;*/
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user