示例#1
0
        private VisualElement GetEditorSystemDataElement()
        {
            var foldout = new Foldout
            {
                text = "Editor systems", value = false, contentContainer = { style = { marginLeft = 5 } }
            };

            if (GFEditorSystemUtility.GetSystemsData(target as Setup))
            {
                LoadLocal();
            }
            else
            {
                LoadBase();
            }

            void LoadBase()
            {
                foldout.Clear();

                foldout.Add(new Button(LoadLocal)
                {
                    text = "Add local data"
                });

                var local = GFEditorSystemUtility.GetSystemsData(target as Setup);

                if (local)
                {
                    GFEditorSystemUtility.RemoveSystemsData(target as Setup);
                    EditorFramework.IsNeedRefreshSystems = true;
                }
            }

            void LoadLocal()
            {
                foldout.Clear();
                var local = GFEditorSystemUtility.GetSystemsData(target as Setup);

                if (!local)
                {
                    local = GFEditorSystemUtility.AddSystemsData(target as Setup);
                    EditorFramework.IsNeedRefreshSystems = true;
                }


                foldout.Add(new Button(LoadBase)
                {
                    text = "Remove local data"
                });

                var element = new InspectorElement(local);

                foldout.Add(element);
            }

            return(foldout);
        }
        private VisualElement GetEditorSystemsElement()
        {
            var foldout = new Foldout {
                text = "Editor systems", value = false, contentContainer = { style = { marginLeft = 5 } }
            };

            var o = GFEditorSystemUtility.GetBaseSystemsData();

            if (o != null)
            {
                foldout.Add(new InspectorElement(o));
            }

            return(foldout);
        }
示例#3
0
        private static void InitSystems()
        {
            var setup = Setup;

            if (setup == null)
            {
                return;
            }

            Systems = GFEditorSystemUtility.GetAllInstanceSystems(setup);

            foreach (var s in Systems)
            {
                s.OnInit();
            }
        }