public override void OnInspectorGUI() { this.serializedObject.Update(); GUILayoutExt.DrawComponentHeader(this.serializedObject, "M", () => { GUILayoutExt.DrawComponentHeaderItem("State", GUILayoutExt.GetPropertyToString(this.objectState)); }, new Color(1f, 0.6f, 1f, 0.4f)); GUILayout.Space(5f); var scroll = this.tabScrollPosition; this.selectedTab = GUILayoutExt.DrawTabs( this.selectedTab, ref scroll, new GUITab("Basic", () => { GUILayoutExt.DrawHeader("Main"); EditorGUILayout.PropertyField(this.hiddenByDefault); EditorGUILayout.PropertyField(this.animationParameters); EditorGUILayout.PropertyField(this.subObjects); GUILayoutExt.DrawHeader("Performance Options"); EditorGUILayout.PropertyField(this.createPool); }), new GUITab("Advanced", () => { GUILayoutExt.DrawHeader("Render Behaviour"); EditorGUILayout.PropertyField(this.renderBehaviourOnHidden); GUILayoutExt.DrawHeader("Animation"); EditorGUILayout.PropertyField(this.animationParameters); GUILayoutExt.DrawHeader("Graph"); EditorGUILayout.PropertyField(this.allowRegisterInRoot); EditorGUILayout.PropertyField(this.autoRegisterSubObjects); EditorGUILayout.PropertyField(this.hiddenByDefault); EditorGUILayout.PropertyField(this.subObjects); GUILayoutExt.DrawHeader("Performance Options"); EditorGUILayout.PropertyField(this.createPool); }) ); this.tabScrollPosition = scroll; GUILayout.Space(10f); var iter = this.serializedObject.GetIterator(); iter.NextVisible(true); do { if (EditorHelpers.IsFieldOfTypeBeneath(this.serializedObject.targetObject.GetType(), typeof(WindowModule), iter.propertyPath) == true) { EditorGUILayout.PropertyField(iter); } } while (iter.NextVisible(false) == true); this.serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { this.serializedObject.Update(); GUILayoutExt.DrawComponentHeader(this.serializedObject, "S", () => { GUILayoutExt.DrawComponentHeaderItem("State", GUILayoutExt.GetPropertyToString(this.objectState)); GUILayoutExt.DrawComponentHeaderItem("Focus", GUILayoutExt.GetPropertyToString(this.focusState)); GUILayout.FlexibleSpace(); }, new Color(0f, 0.6f, 0f, 0.4f)); GUILayout.Space(5f); var scroll = this.tabScrollPosition; this.selectedTab = GUILayoutExt.DrawTabs( this.selectedTab, ref scroll, new GUITab("Preferences", () => { GUILayoutExt.DrawProperty(this.preferences); EditorGUILayout.PropertyField(this.createPool); }), new GUITab("Modules (" + this.listModules.count.ToString() + ")", () => { this.listModules.DoLayoutList(); }), new GUITab("Layouts", () => { EditorGUILayout.PropertyField(this.layouts); }), new GUITab("Audio", () => { GUILayoutExt.DrawHeader("Events"); var enterChildren = true; var prop = this.audioEvents.Copy(); var depth = prop.depth + 1; while (prop.NextVisible(enterChildren) == true && prop.depth >= depth) { EditorGUILayout.PropertyField(prop, true); enterChildren = false; } }) ); this.tabScrollPosition = scroll; GUILayout.Space(10f); var iter = this.serializedObject.GetIterator(); iter.NextVisible(true); do { if (EditorHelpers.IsFieldOfTypeBeneath(this.serializedObject.targetObject.GetType(), typeof(UnityEngine.UI.Windows.WindowTypes.LayoutWindowType), iter.propertyPath) == true) { EditorGUILayout.PropertyField(iter); } } while (iter.NextVisible(false) == true); this.serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { this.serializedObject.Update(); GUILayoutExt.DrawComponentHeader(this.serializedObject, "L", () => { GUILayoutExt.DrawComponentHeaderItem("State", GUILayoutExt.GetPropertyToString(this.objectState)); }, new Color(1f, 0.6f, 0f, 0.4f)); GUILayout.Space(5f); var scroll = this.tabScrollPosition; this.selectedTab = GUILayoutExt.DrawTabs( this.selectedTab, ref scroll, new GUITab("Basic", () => { GUILayoutExt.DrawHeader("Main"); EditorGUILayout.PropertyField(this.hiddenByDefault); EditorGUILayout.PropertyField(this.animationParameters); EditorGUILayout.PropertyField(this.subObjects); GUILayoutExt.DrawHeader("Performance Options"); EditorGUILayout.PropertyField(this.createPool); }), new GUITab("Advanced", () => { GUILayoutExt.DrawHeader("Render Behaviour"); EditorGUILayout.PropertyField(this.renderBehaviourOnHidden); GUILayoutExt.DrawHeader("Animation"); EditorGUILayout.PropertyField(this.animationParameters); GUILayoutExt.DrawHeader("Graph"); EditorGUILayout.PropertyField(this.allowRegisterInRoot); EditorGUILayout.PropertyField(this.autoRegisterSubObjects); EditorGUILayout.PropertyField(this.hiddenByDefault); EditorGUILayout.PropertyField(this.subObjects); GUILayoutExt.DrawHeader("Performance Options"); EditorGUILayout.PropertyField(this.createPool); }) ); this.tabScrollPosition = scroll; GUILayout.Space(10f); EditorGUILayout.PropertyField(this.useSafeZone); if (this.useSafeZone.boolValue == true) { GUILayoutExt.Box(2f, 2f, () => { EditorGUILayout.PropertyField(this.safeZone); if (this.safeZone.objectReferenceValue == null && this.targets.Length == 1) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Generate", GUILayout.Width(80f), GUILayout.Height(30f)) == true) { var obj = this.target as Component; if (PrefabUtility.IsPartOfAnyPrefab(obj) == true) { var path = AssetDatabase.GetAssetPath(obj.gameObject); using (var edit = new EditPrefabAssetScope(path)) { EditorHelpers.AddSafeZone(edit.prefabRoot.transform); } } else { var root = obj.gameObject; EditorHelpers.AddSafeZone(root.transform); } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } }); } GUILayout.Space(10f); var iter = this.serializedObject.GetIterator(); iter.NextVisible(true); do { if (EditorHelpers.IsFieldOfTypeBeneath(this.serializedObject.targetObject.GetType(), typeof(WindowLayout), iter.propertyPath) == true) { EditorGUILayout.PropertyField(iter); } } while (iter.NextVisible(false) == true); this.serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { this.serializedObject.Update(); GUILayoutExt.DrawComponentHeader(this.serializedObject, "C", () => { GUILayoutExt.DrawComponentHeaderItem("State", GUILayoutExt.GetPropertyToString(this.objectState)); }); GUILayout.Space(5f); var scroll = this.tabScrollPosition; this.selectedTab = GUILayoutExt.DrawTabs( this.selectedTab, ref scroll, new GUITab("Basic", () => { GUILayoutExt.DrawHeader("Main"); GUILayoutExt.PropertyField(this.hiddenByDefault, (reg) => reg.hiddenByDefault == true ? reg.hiddenByDefaultDescription : string.Empty); EditorGUILayout.PropertyField(this.subObjects); GUILayoutExt.DrawHeader("Animations"); EditorGUILayout.PropertyField(this.animationParameters); GUILayoutExt.DrawHeader("Performance Options"); EditorGUILayout.PropertyField(this.createPool); this.DrawCanvas(); }), new GUITab("Advanced", () => { GUILayoutExt.DrawHeader("Render Behaviour"); EditorGUILayout.PropertyField(this.renderBehaviourOnHidden); GUILayoutExt.DrawHeader("Animations"); EditorGUILayout.PropertyField(this.animationParameters); GUILayoutExt.DrawHeader("Graph"); GUILayoutExt.PropertyField(this.allowRegisterInRoot, (reg) => reg.allowRegisterInRoot == true ? reg.allowRegisterInRootDescription : string.Empty); EditorGUILayout.PropertyField(this.autoRegisterSubObjects); GUILayoutExt.PropertyField(this.hiddenByDefault, (reg) => reg.hiddenByDefault == true ? reg.hiddenByDefaultDescription : string.Empty); EditorGUILayout.PropertyField(this.subObjects); GUILayoutExt.DrawHeader("Performance Options"); EditorGUILayout.PropertyField(this.createPool); this.DrawCanvas(); }), this.listModules == null ? GUITab.none : new GUITab("Modules (" + this.listModules.count + ")", () => { this.listModules.DoLayoutList(); }), new GUITab("Audio", () => { GUILayoutExt.DrawHeader("Events"); var enterChildren = true; var prop = this.audioEvents.Copy(); var depth = prop.depth + 1; while (prop.NextVisible(enterChildren) == true && prop.depth >= depth) { EditorGUILayout.PropertyField(prop, true); enterChildren = false; } }) ); this.tabScrollPosition = scroll; GUILayout.Space(10f); var iter = this.serializedObject.GetIterator(); iter.NextVisible(true); do { if (EditorHelpers.IsFieldOfTypeBeneath(this.serializedObject.targetObject.GetType(), typeof(WindowComponent), iter.propertyPath) == true) { EditorGUILayout.PropertyField(iter); } } while (iter.NextVisible(false) == true); this.serializedObject.ApplyModifiedProperties(); }