Beispiel #1
0
        // 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);
        }
Beispiel #2
0
        // 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);
        }
Beispiel #3
0
        // 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());
            }
        }