public static void Save(BehaviorSource behaviorSource) { behaviorSource.CheckForSerialization(false, null); SerializeJSON.taskSerializationData = new TaskSerializationData(); SerializeJSON.fieldSerializationData = SerializeJSON.taskSerializationData.fieldSerializationData; Dictionary <string, object> dictionary = new Dictionary <string, object>(); if (behaviorSource.EntryTask != null) { dictionary.Add("EntryTask", SerializeJSON.SerializeTask(behaviorSource.EntryTask, true, ref SerializeJSON.fieldSerializationData.unityObjects)); } if (behaviorSource.RootTask != null) { dictionary.Add("RootTask", SerializeJSON.SerializeTask(behaviorSource.RootTask, true, ref SerializeJSON.fieldSerializationData.unityObjects)); } if (behaviorSource.DetachedTasks != null && behaviorSource.DetachedTasks.Count > 0) { Dictionary <string, object>[] array = new Dictionary <string, object> [behaviorSource.DetachedTasks.Count]; for (int i = 0; i < behaviorSource.DetachedTasks.Count; i++) { array[i] = SerializeJSON.SerializeTask(behaviorSource.DetachedTasks[i], true, ref SerializeJSON.fieldSerializationData.unityObjects); } dictionary.Add("DetachedTasks", array); } if (behaviorSource.Variables != null && behaviorSource.Variables.Count > 0) { dictionary.Add("Variables", SerializeJSON.SerializeVariables(behaviorSource.Variables, ref SerializeJSON.fieldSerializationData.unityObjects)); } SerializeJSON.taskSerializationData.JSONSerialization = MiniJSON.Serialize(dictionary); behaviorSource.TaskData = SerializeJSON.taskSerializationData; if (behaviorSource.Owner != null) { EditorUtility.SetDirty(behaviorSource.Owner.GetObject()); } }
public static void Save(GlobalVariables variables) { if (variables == null) { return; } SerializeJSON.variableSerializationData = new VariableSerializationData(); SerializeJSON.fieldSerializationData = SerializeJSON.variableSerializationData.fieldSerializationData; Dictionary <string, object> dictionary = new Dictionary <string, object>(); dictionary.Add("Variables", SerializeJSON.SerializeVariables(variables.Variables, ref SerializeJSON.fieldSerializationData.unityObjects)); SerializeJSON.variableSerializationData.JSONSerialization = MiniJSON.Serialize(dictionary); variables.VariableData = SerializeJSON.variableSerializationData; EditorUtility.SetDirty(variables); }