// Token: 0x060001F7 RID: 503 RVA: 0x00012608 File Offset: 0x00010808 public static Dictionary <string, object> SerializeTask(Task task, bool serializeChildren, ref List <Object> unityObjects) { Dictionary <string, object> dictionary = new Dictionary <string, object>(); dictionary.Add("Type", task.GetType()); dictionary.Add("NodeData", JSONSerialization.SerializeNodeData(task.NodeData)); dictionary.Add("ID", task.ID); dictionary.Add("Name", task.FriendlyName); dictionary.Add("Instant", task.IsInstant); if (task.Disabled) { dictionary.Add("Disabled", task.Disabled); } JSONSerialization.SerializeFields(task, ref dictionary, ref unityObjects); if (serializeChildren && task is ParentTask) { ParentTask parentTask = task as ParentTask; if (parentTask.Children != null && parentTask.Children.Count > 0) { Dictionary <string, object>[] array = new Dictionary <string, object> [parentTask.Children.Count]; for (int i = 0; i < parentTask.Children.Count; i++) { array[i] = JSONSerialization.SerializeTask(parentTask.Children[i], serializeChildren, ref unityObjects); } dictionary.Add("Children", array); } } return(dictionary); }
// Token: 0x06000259 RID: 601 RVA: 0x000164C4 File Offset: 0x000146C4 public static TaskSerializer CopySerialized(Task task) { TaskSerializer taskSerializer = new TaskSerializer(); taskSerializer.offset = (task.NodeData.NodeDesigner as NodeDesigner).GetAbsolutePosition() + new Vector2(10f, 10f); taskSerializer.unityObjects = new List <Object>(); taskSerializer.serialization = MiniJSON.Serialize(JSONSerialization.SerializeTask(task, false, ref taskSerializer.unityObjects)); return(taskSerializer); }
// Token: 0x060001F4 RID: 500 RVA: 0x000123A8 File Offset: 0x000105A8 public static void Save(BehaviorSource behaviorSource) { behaviorSource.CheckForSerialization(false, null); JSONSerialization.taskSerializationData = new TaskSerializationData(); JSONSerialization.fieldSerializationData = JSONSerialization.taskSerializationData.fieldSerializationData; Dictionary <string, object> dictionary = new Dictionary <string, object>(); if (behaviorSource.EntryTask != null) { dictionary.Add("EntryTask", JSONSerialization.SerializeTask(behaviorSource.EntryTask, true, ref JSONSerialization.fieldSerializationData.unityObjects)); } if (behaviorSource.RootTask != null) { dictionary.Add("RootTask", JSONSerialization.SerializeTask(behaviorSource.RootTask, true, ref JSONSerialization.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] = JSONSerialization.SerializeTask(behaviorSource.DetachedTasks[i], true, ref JSONSerialization.fieldSerializationData.unityObjects); } dictionary.Add("DetachedTasks", array); } if (behaviorSource.Variables != null && behaviorSource.Variables.Count > 0) { dictionary.Add("Variables", JSONSerialization.SerializeVariables(behaviorSource.Variables, ref JSONSerialization.fieldSerializationData.unityObjects)); } JSONSerialization.taskSerializationData.Version = "1.5.7"; JSONSerialization.taskSerializationData.JSONSerialization = MiniJSON.Serialize(dictionary); behaviorSource.TaskData = JSONSerialization.taskSerializationData; if (behaviorSource.Owner != null && !behaviorSource.Owner.Equals(null)) { BehaviorDesignerUtility.SetObjectDirty(behaviorSource.Owner.GetObject()); } }