Ejemplo n.º 1
0
        public static void ShowWindow(GameObject obj)
        {
            identifier     = obj.GetComponent <Iidentifier>();
            components     = new List <Component>();
            componentSaves = new List <ComponentSave>();
            foreach (Component c in obj.GetComponents <Component>())
            {
                if (c.GetType() != typeof(SaveableIdentifier))
                {
                    components.Add(c);
                }
            }
            GetWindow <SaveSpecificEditor>(true, "Save specific", true);

            if (identifier.componentSaves == null)
            {
                for (int i = 0; i < components.Count; i++)
                {
                    if (components[i].GetType() != typeof(SaveableIdentifier))
                    {
                        List <bool> refVarList = new List <bool>();
                        for (int v = 0; v < ScriptReflector.GetVariableNames(components[i]).Count; v++)
                        {
                            refVarList.Add(false);
                        }
                        componentSaves.Add(new ComponentSave(components[i].GetType().Name, false, refVarList));
                    }
                }
            }
            else
            {
                componentSaves = identifier.componentSaves;
            }
        }
Ejemplo n.º 2
0
 public static void ShowWindow(GameObject obj)
 {
     identifier     = obj.GetComponent <Iidentifier>();
     components     = new List <Component>();
     componentSaves = new List <ComponentSave>();
     foreach (Component c in obj.GetComponents <Component>())
     {
         if (c.GetType() != typeof(SaveableIdentifier))
         {
             components.Add(c);
         }
     }
     GetWindow <FancySaveWindow>(true, "Save Window", true);
 }
Ejemplo n.º 3
0
        private static void MakeSaveable(MenuCommand command)
        {
            GameObject  obj        = (GameObject)command.context;
            Iidentifier identifier = obj.GetComponent <SaveableIdentifier>();

            if (identifier == null)
            {
                identifier    = obj.AddComponent <SaveableIdentifier>();
                identifier.id = SaveLoadSystem.GetXMLid();
                SaveSpecificEditor.ShowWindow(obj);
            }
            else
            {
                Object.DestroyImmediate((SaveableIdentifier)identifier);
                SaveLoadSystem.Save();
            }
        }
Ejemplo n.º 4
0
        private static void AddToSave(GameObject obj, int id)
        {
            XmlNode              idNode     = GetCreateIdNode(id);
            Iidentifier          identifier = obj.GetComponent <Iidentifier>();
            List <ComponentSave> cSave      = identifier.componentSaves;

            foreach (Component component in obj.GetComponents <Component>())
            {
                ComponentSave componentSave = cSave.Find(x => x.componentTypeName == component.GetType().Name);

                if (
                    component.GetType() != typeof(SaveableIdentifier) &&
                    (GetChildNodeFromName(idNode, component.GetType().AssemblyQualifiedName) == null || identifier.hasChanged) &&
                    componentSave.boolItem == true
                    )
                {
                    MakeVariableNodes(component, MakeComponentNode(component, idNode), componentSave);
                }
            }
        }