public SpawnGraph(MyEditorPanel graphP, int totalTime) { totalTimeToCount = totalTime; graphPanel = graphP; maxUnits = (int)SpawnTypes.GetMaximunNumberOfUnits(totalTimeToCount); totalUnitsAndUnitsPerSecForAllTypes = SpawnTypes.GetUnitsPerSec(totalTimeToCount); // Set up color array with random colors if (unitTypesColors == null) { SavedUnitTypeColorsArray savedCollorArrayObject = JsonLib.LoadGameData(); if (savedCollorArrayObject != null && savedCollorArrayObject.colorArray.Length > 0) { //Debug.Log("Unit types graph colors loaded from previous session"); unitTypesColors = savedCollorArrayObject.colorArray; } else { //Debug.Log("No unit types graph colors loaded from previous session"); unitTypesColors = new Color[150]; for (int i = 0; i != unitTypesColors.Length; i++) { unitTypesColors[i] = new Color(Random.Range(0, 0.9f), Random.Range(0, 0.9f), Random.Range(0, 0.9f), Random.Range(0, 0.9f)); unitTypesColors[i].a = 1; } } JsonLib.SaveGameData(new SavedUnitTypeColorsArray(unitTypesColors)); } }
public static void SaveGameData(SavedUnitTypeColorsArray objToSerialize) { string dataAsJson = JsonUtility.ToJson(objToSerialize); string filePath = Application.dataPath + gameDataFileName; File.WriteAllText(filePath, dataAsJson); }
public static SavedUnitTypeColorsArray LoadGameData() { string filePath = Application.dataPath + gameDataFileName; if (File.Exists(filePath)) { SavedUnitTypeColorsArray objToReturn = null; string dataAsJson = File.ReadAllText(filePath); try { objToReturn = JsonUtility.FromJson <SavedUnitTypeColorsArray>(dataAsJson); return(objToReturn); } catch { return(objToReturn); } } else { return(null); } }