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); }