public void SaveRules() { if (jsonFile == null) { return; } // create a serializable object with list of rules List <SerializedRule> serializedRules = new List <SerializedRule>(); foreach (Rule rule in rules) { serializedRules.Add(new SerializedRule(rule)); } RuleSetJsonObject rsjo = new RuleSetJsonObject(); rsjo.serializedRules = serializedRules.ToArray(); string json = JsonUtility.ToJson(rsjo, true); string path = UnityEditor.AssetDatabase.GetAssetPath(jsonFile); // write to file using (FileStream fs = new FileStream(path, FileMode.Create)) { using (StreamWriter writer = new StreamWriter(fs)) { writer.Write(json); } } UnityEditor.AssetDatabase.Refresh(); }
public void LoadRules() { RuleSetJsonObject rsjo = JsonUtility.FromJson <RuleSetJsonObject>(jsonFile.text); rules = new List <Rule>(); foreach (SerializedRule sr in rsjo.serializedRules) { rules.Add(sr.Rule); } }