/// <summary> /// This function will find out if there is some configuration set up, it will set it up if it is not. /// </summary> public static void PresentConfig() { if (!PlayerPrefs.HasKey("DefaultsInitialized")) { DefaultConfigCreator.InitializeDefaults(); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); if (GUILayout.Button("Rewrite config with default.")) { DefaultConfigCreator.InitializeDefaults(); } }
private void LoadTileConfiguration() { tileConnections = new Dictionary <string, Dictionary <Direction, Direction> >(); tilesCounts = new Dictionary <string, int>(); tilesNames = new List <string>(); DefaultConfigCreator.PresentConfig(); string configFile = PlayerPrefs.GetString("TilesConfig"); int curr = 0; char[] delimiter = { ' ' }; foreach (string line in configFile.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { string[] words = line.Split(delimiter); if (words.Length != 9) { Debug.LogError("Config file has wrong number of tokens!"); throw new FormatException(); } string tileName = curr++.ToString(); tilesNames.Add(tileName); tilesCounts[tileName] = int.Parse(words[0]); //tilesCounts.Add(int.Parse(words[0])); Dictionary <Direction, Direction> directions = new Dictionary <Direction, Direction>(); bool[] directionsUsed = new bool[4]; for (int i = 0; i < 4; i++) { Direction from = (Direction)Enum.Parse(typeof(Direction), words[i * 2 + 1]); Direction where = (Direction)Enum.Parse(typeof(Direction), words[i * 2 + 2]); directionsUsed[(int)from] = true; directions[from] = where; } if (!(directionsUsed[0] && directionsUsed[1] && directionsUsed[2] && directionsUsed[3])) { throw new FormatException("Tile: " + tileName + " has invalid connections format!" + Environment.NewLine + "Line: " + line); } tileConnections[tileName] = directions; } }