public override void OnInspectorGUI() { base.OnInspectorGUI(); serializedObject.Update(); reorderable.DoLayoutList(); serializedObject.ApplyModifiedProperties(); }
void drawContexts() { EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); { GUILayout.Space(5); EditorGUILayout.BeginVertical(); { _contextList.DoLayoutList(); } EditorGUILayout.EndVertical(); GUILayout.Space(4); } EditorGUILayout.EndHorizontal(); if (_contexts.Count <= 1) { EditorGUILayout.HelpBox("You can optimize the memory footprint of entities by creating multiple contexts. " + "The code generator generates subclasses of ContextAttribute for each context name. " + "You have to assign components to one or more contexts with the generated attribute, e.g. [Game] or [Input], " + "otherwise they will be ignored by the code generator.", MessageType.Info); } _codeGeneratorConfig.contexts = _contexts.ToArray(); }
public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.BeginVertical(); DrawPropertiesExcluding(serializedObject, new string[] { "m_Script", "ID", _equipTypes.name }); EditorGUILayout.EndVertical(); EditorGUILayout.Space(); if (GUILayout.Button("Edit types")) { InventoryMainEditor.window.Show(); InventoryMainEditor.SelectTab(typeof(EquipmentTypeEditor)); } EditorGUILayout.Space(); EditorGUILayout.LabelField("Define which types are allowed in this wrapper.\n\nFor example when selecting helmet and necklace both items with equipment type helmet and neckalce can be equipped to this slot.", EditorStyles.labelStyle); EditorGUILayout.Space(); EditorGUILayout.Space(); _list.DoLayoutList(); serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { EditorGUILayout.BeginVertical(GUI.skin.box); if (mGroupNameOverride) { EditorGUILayout.PropertyField(mGroupName); } else { EditorGUILayout.LabelField("group", (target as MonoBehaviour).name); } mGroupNameOverride = EditorGUILayout.Toggle("override", mGroupNameOverride); if (!mGroupNameOverride) { mGroupName.stringValue = ""; } EditorGUILayout.EndVertical(); EditorGUILayout.PropertyField(mPersistent); EditorGUILayout.PropertyField(mPoolHolder); M8.EditorExt.Utility.DrawSeparator(); mFactory.DoLayoutList(); serializedObject.ApplyModifiedProperties(); }
/// <summary> Panel to display Sequences to play </summary> /// <param name="inlineHelp">Should help be displayed?</param> void SequencesPanel(bool inlineHelp) { ++EditorGUI.indentLevel; m_sequencesReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mSequences", inlineHelp); --EditorGUI.indentLevel; }
public override void OnInspectorGUI() { if (mChildList == null) { SetupChildList(); } // Ordinary properties base.OnInspectorGUI(); // Blends m_BlendsEditor.DrawEditorCombo( "Create New Blender Asset", Target.gameObject.name + " Blends", "asset", string.Empty, "Custom Blends", false); // vcam children EditorGUILayout.Separator(); EditorGUI.BeginChangeCheck(); mChildList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }
void ShowScatterplotMatrixMenu(ref AbstractVisualisation.PropertyType?dirtyFlags) { EditorGUI.BeginChangeCheck(); scatterplotMatrixListX.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { dirtyFlags = _globalDirtyFlags; } EditorGUI.BeginChangeCheck(); scatterplotMatrixListY.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { dirtyFlags = _globalDirtyFlags; } EditorGUI.BeginChangeCheck(); scatterplotMatrixListZ.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { dirtyFlags = _globalDirtyFlags; } }
/// <summary> Panel to show "Requirements" for Sequence to play </summary> /// <param name="inlineHelp">Should help be displayed?</param> public void RequirementsPanel(bool inlineHelp) { ++EditorGUI.indentLevel; EditorGUI.BeginChangeCheck(); m_editorUtils.PropertyField("mRequirements", m_requirements, inlineHelp); ValuesOrEvents reqVal = (ValuesOrEvents)System.Enum.GetValues(typeof(ValuesOrEvents)).GetValue(m_requirements.enumValueIndex); slidersGroup.target = (reqVal & ValuesOrEvents.Values) != 0; eventsGroup.target = (reqVal & ValuesOrEvents.Events) != 0; if (EditorGUILayout.BeginFadeGroup(eventsGroup.faded)) { m_editorUtils.InlineHelp("mEventsMix", inlineHelp); m_eventsReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mEvents", inlineHelp); } EditorGUILayout.EndFadeGroup(); if (EditorGUI.EndChangeCheck() && MainWindowEditor.Instance != null) { MainWindowEditor.Instance.Repaint(); } if (EditorGUILayout.BeginFadeGroup(slidersGroup.faded)) { m_editorUtils.InlineHelp("mValuesMix", inlineHelp); m_valuesReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mValues", inlineHelp); } EditorGUILayout.EndFadeGroup(); --EditorGUI.indentLevel; }
public override void OnInspectorGUI() { this.serializedObject.Update(); DrawDefaultInspectorExcept(this.serializedObject, PROP_HANDLEBITSYMSG, PROP_ONBITSYMSG, PROP_MSGHANDLERS); //draw global msg handler var propHandleGlobal = this.serializedObject.FindProperty(PROP_HANDLEBITSYMSG); EditorGUILayout.PropertyField(propHandleGlobal); if (propHandleGlobal.boolValue) { EditorGUILayout.PropertyField(this.serializedObject.FindProperty(PROP_ONBITSYMSG)); } //draw messages EditorGUILayout.Space(); EditorGUILayout.LabelField("Message Handlers", EditorStyles.boldLabel); _messageHandlersList.DoLayoutList(); if (_messageHandlersList.index >= 0 && _messageHandlersList.index < _messageHandlersList.serializedProperty.arraySize) { EditorGUI.indentLevel++; var entry = _messageHandlersList.serializedProperty.GetArrayElementAtIndex(_messageHandlersList.index); var propMsg = entry.FindPropertyRelative(PROP_MSG); var propHandler = entry.FindPropertyRelative(PROP_MSGHANDLER); EditorGUILayout.PropertyField(propHandler, new GUIContent(propMsg.stringValue)); EditorGUI.indentLevel--; } this.serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { if (mInstructionList == null) { SetupInstructionList(); } if (mChildList == null) { SetupChildList(); } if (Target.m_AnimatedTarget == null) { EditorGUILayout.HelpBox("An Animated Target is required", MessageType.Error); } // Ordinary properties base.OnInspectorGUI(); // Layer index EditorGUI.BeginChangeCheck(); UpdateTargetStates(); UpdateCameraCandidates(); SerializedProperty layerProp = serializedObject.FindProperty(() => Target.m_LayerIndex); int currentLayer = layerProp.intValue; int layerSelection = EditorGUILayout.Popup("Layer", currentLayer, mLayerNames); if (currentLayer != layerSelection) { layerProp.intValue = layerSelection; } EditorGUILayout.PropertyField(serializedObject.FindProperty(() => Target.m_DefaultBlend)); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); Target.ValidateInstructions(); } // Blends EditorGUILayout.Separator(); m_BlendsEditor.DrawEditorCombo( "Create New Blender Asset", Target.gameObject.name + " Blends", "asset", string.Empty, "Custom Blends", false); // Instructions EditorGUI.BeginChangeCheck(); EditorGUILayout.Separator(); mInstructionList.DoLayoutList(); // vcam children EditorGUILayout.Separator(); mChildList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); Target.ValidateInstructions(); } }
/// <summary> /// 绘制state 显示列表 /// </summary> private void DrawList(Rect _rect) { EditorGUILayout.Space(); scroll = GUILayout.BeginScrollView(scroll, GUILayout.MaxHeight(_rect.height)); reorderableList.DoLayoutList(); GUILayout.EndScrollView(); }
} /* OnEnable() */ public override void OnInspectorGUI() { serializedObject.Update(); list.DoLayoutList(); serializedObject.ApplyModifiedProperties(); } /* OnInspectorGUI() */
public override void OnInspectorGUI() { BeginInspector(); if (mChildList == null) { SetupChildList(); } m_ColliderState = GetColliderState(); switch (m_ColliderState) { case ColliderState.ColliderOnParent: case ColliderState.ColliderOnAllChildren: break; case ColliderState.NoCollider: EditorGUILayout.HelpBox( "ClearShot requires a Collider extension to rank the shots. Either add one to the ClearShot itself, or to each of the child cameras.", MessageType.Warning); break; case ColliderState.ColliderOnSomeChildren: EditorGUILayout.HelpBox( "Some child cameras do not have a Collider extension. ClearShot requires a Collider on all the child cameras, or alternatively on the ClearShot iself.", MessageType.Warning); break; case ColliderState.ColliderOnChildrenAndParent: EditorGUILayout.HelpBox( "There is a Collider extension on the ClearShot camera, and also on some of its child cameras. You can't have both.", MessageType.Error); break; } DrawHeaderInInspector(); DrawPropertyInInspector(FindProperty(x => x.m_Priority)); DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); DrawRemainingPropertiesInInspector(); // Blends m_BlendsEditor.DrawEditorCombo( "Create New Blender Asset", Target.gameObject.name + " Blends", "asset", string.Empty, "Custom Blends", false); // vcam children EditorGUILayout.Separator(); EditorGUI.BeginChangeCheck(); mChildList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } // Extensions DrawExtensionsWidgetInInspector(); }
void ShowParallelCoordinatesMenu(ref AbstractVisualisation.PropertyType?dirtyFlags) { EditorGUI.BeginChangeCheck(); dimensionsListParallelCoordinates.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { dirtyFlags = _globalDirtyFlags; } }
/// <summary> Panel to show Events list to apply when Sequence is playing </summary> /// <param name="inlineHelp">Should help be displayed?</param> public void EventsPanel(bool inlineHelp) { ++EditorGUI.indentLevel; m_eventsWhilePlayingReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mEventsWhilePlaying", inlineHelp); m_valuesWhilePlayingReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mValuesWhilePlaying", inlineHelp); m_editorUtils.PropertyField("mOnPlayClip", m_OnPlayClip, inlineHelp); m_editorUtils.PropertyField("mOnStopClip", m_OnStopClip, inlineHelp); --EditorGUI.indentLevel; }
public override void OnInspectorGUI() { EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(m_AnimatorController); if (EditorGUI.EndChangeCheck()) { ResetOverrideMotions(); } m_ReorderableList.DoLayoutList(); ApplyRevertGUI(); }
override public void OnInspectorGUI() { base.OnInspectorGUI(); GUILayout.FlexibleSpace(); GUILayout.Label("Build Profiles", EditorStyles.boldLabel); list.DoLayoutList(); EditorGUI.BeginDisabledGroup(distro.builds == null || distro.builds.Count == 0); { GUILayout.Label("Distribution", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); { if (distro.IsRunning) { if (GUILayout.Button("Cancel")) { distro.Cancel(); } GUILayout.Label(GetSpinner(), GUILayout.ExpandWidth(false)); } else { if (GUILayout.Button("Build & Distribute")) { distro.Distribute(DistroBuildMode.BuildAll); GUIUtility.ExitGUI(); } EditorGUI.BeginDisabledGroup(!distro.HasAllBuilds()); { if (GUILayout.Button("Distribute")) { distro.Distribute(); GUIUtility.ExitGUI(); } } EditorGUI.EndDisabledGroup(); } } EditorGUILayout.EndHorizontal(); } EditorGUI.EndDisabledGroup(); if (BuildRunner.Current != null) { GUILayout.Space(20); GUILayout.Label("Current Build", EditorStyles.boldLabel); BuildRunner.Current.StatusGUI(); } }
public override void OnInspectorGUI() { serializedObject.UpdateIfRequiredOrScript(); list.DoLayoutList(); if (!isValid) { if (list.serializedProperty.arraySize < 1) { isValid = true; } UnityEditor.EditorGUILayout.HelpBox("You have non unique names in bundle!", UnityEditor.MessageType.Error); } serializedObject.ApplyModifiedProperties(); }
public override void OnPropertyDrawer(UnityEditor.SerializedProperty prop) { if (editorContent == null || string.IsNullOrEmpty(editorContent.text)) { var name = UnityEditor.ObjectNames.NicifyVariableName(FieldName); editorContent = new UnityEngine.GUIContent(name); } if (reList == null) { Type type; if (FieldType.StartsWith("CS.")) { var typeName = FieldType.Substring(3); type = String2TypeCache.GetType(typeName); } else { type = typeof(LuaBinding); } reList = new UnityEditorInternal.ReorderableList(prop.serializedObject, prop) { elementHeight = UnityEditor.EditorGUIUtility.singleLineHeight }; reList.drawHeaderCallback += rect => { UnityEditor.EditorGUI.LabelField(rect, FieldName); }; reList.drawElementCallback += (rect, index, active, focused) => { var elemProp = reList.serializedProperty.GetArrayElementAtIndex(index); UnityEditor.EditorGUI.BeginChangeCheck(); UnityEditor.EditorGUI.ObjectField(rect, elemProp, type, editorContent); if (UnityEditor.EditorGUI.EndChangeCheck()) { var path = UnityEditor.AssetDatabase.GetAssetPath(elemProp.objectReferenceValue); if (string.IsNullOrEmpty(path)) { return; } UnityEditor.EditorUtility.DisplayDialog("ERROR", $"{FieldName} should use AssetReference to a non scene object!", "OK"); elemProp.objectReferenceValue = null; } }; } reList.serializedProperty = prop; reList.DoLayoutList(); }
private void OnGUIScreenshotConfigs() { EditorGUILayout.BeginHorizontal(); GUILayout.Label(_configsIcon, GUILayout.Width(24)); GUILayout.Label("Screenshots", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); _list.DoLayoutList(); EditorGUILayout.Space(); _settings.Tag = EditorGUILayout.TextField("Tag", _settings.Tag); EditorGUILayout.Space(); _settings.AppendTimestamp = EditorGUILayout.Toggle("Timestamp", _settings.AppendTimestamp); EditorGUILayout.Space(); }
void drawPools() { EditorGUILayout.Space(); _poolList.DoLayoutList(); if (_pools.Count == 0) { EditorGUILayout.HelpBox("You can optimize the memory footprint of entities by creating multiple pools. " + "The code generator generates subclasses of PoolAttribute for each pool name. " + "You can assign components to a specific pool with the generated attribute, e.g. [UI] or [MetaGame], " + "otherwise they are assigned to the default pool.", MessageType.Info); } _codeGeneratorConfig.pools = _pools.ToArray(); }
public override void OnInspectorGUI() { BeginInspector(); DrawRemainingPropertiesInInspector(); if (mTargetList == null) { SetupTargetList(); } EditorGUI.BeginChangeCheck(); mTargetList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }
void drawContexts() { EditorGUILayout.Space(); _contextList.DoLayoutList(); if (_contexts.Count <= 1) { EditorGUILayout.HelpBox("You can optimize the memory footprint of entities by creating multiple contexts. " + "The code generator generates subclasses of ContextAttribute for each context name. " + "You can assign components to a specific context with the generated attribute, e.g. [UI] or [MetaGame], " + "otherwise they are assigned to the default context.", MessageType.Info); } _codeGeneratorConfig.contexts = _contexts.ToArray(); }
void DrawManageStyles() { if (roorderList == null && _skinOriginal != null) { EnableList(); } if (roorderList == null) { return; } ExGUI.Title("Add Buildt In Styles"); DrawAddDefault(); ExGUI.Title("Reorder"); ExGUI.Horizontal(delegate() { script = (MonoScript)EditorGUILayout.ObjectField(script, typeof(MonoScript), false); if (GUILayout.Button("ReOrder", EditorStyles.miniButtonLeft)) { try { ReorderByEnum(script.GetClass()); } catch (System.Exception ex) { Debug.Log(ex); } } if (GUILayout.Button("Add From Enum", EditorStyles.miniButtonRight)) { try { AddFromEnum(script.GetClass()); } catch (System.Exception ex) { Debug.Log(ex); } } }); EditorGUILayout.Space(); roorderList.DoLayoutList(); }
public override void OnInspectorGUI() { serializedObject.Update(); DrawPropertiesExcluding(serializedObject, m_excludeFields); serializedObject.ApplyModifiedProperties(); if (mTargetList == null) { SetupTargetList(); } EditorGUI.BeginChangeCheck(); mTargetList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }
//--------------------------------------------------------------------- // Helpers //--------------------------------------------------------------------- private void OnGUICameraInput() { EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); GUILayout.Label(_cameraIcon, GUILayout.Width(24)); GUILayout.Label("Camera", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); //if (_settings.Camera == null) _settings.Camera = Camera.main; _camerasList.DoLayoutList(); if (ScreenShooterSettings.Instance.Cameras == null || ScreenShooterSettings.Instance.Cameras.Count == 0) { EditorGUILayout.HelpBox("No cameras selected, Game View buffer will be used instead", MessageType.Info); } EditorGUILayout.Space(); }
protected override void OnCustomInspectorGUI(params CustomOverrideProperty[] extraOverride) { var l = new List <CustomOverrideProperty>(extraOverride); l.Add(new CustomOverrideProperty("plyAttributes", () => { //EditorGUILayout.EndVertical(); // Close box //EditorGUILayout.BeginVertical(InventoryEditorStyles.reorderableListStyle); // Continue EditorGUILayout.LabelField("Add value to attributes when this item is consumed."); list.DoLayoutList(); //EditorGUILayout.EndVertical(); // Close box //EditorGUILayout.BeginVertical(); // Continue })); base.OnCustomInspectorGUI(l.ToArray()); }
public override void Draw(ObjectInspector inspector, FieldInspector fieldInspector) { if (fieldInspector.Property.isArray) { if (List == null) { GenerateList(fieldInspector); } List.DoLayoutList(); } else { GUILayout.BeginHorizontal(); EditorGUILayout.HelpBox("[" + fieldInspector.Field.Name + "] can't use the ReorderableList!", MessageType.Error); GUILayout.EndHorizontal(); } }
public override void OnInspectorGUI() { if ((serializedObject.FindProperty("drawingMode").intValue & (int)OutlinableDrawingMode.Normal) != 0) { if (serializedObject.FindProperty("renderStyle").intValue == 1) { DrawPropertiesExcluding(serializedObject, "frontParameters", "backParameters", "outlineTargets", "outlineTargets", "m_Script"); } else { DrawPropertiesExcluding(serializedObject, "outlineParameters", "outlineTargets", "outlineTargets", "m_Script"); } } else { DrawPropertiesExcluding(serializedObject, "outlineParameters", "frontParameters", "backParameters", "outlineTargets", "m_Script"); } serializedObject.ApplyModifiedProperties(); var renderers = serializedObject.FindProperty("outlineTargets"); CheckList(renderers); if (serializedObject.targetObjects.Count() == 1) { targetsList.DoLayoutList(); } }
public override void OnInspectorGUI() { BeginInspector(); if (mInstructionList == null) { SetupInstructionList(); } if (mChildList == null) { SetupChildList(); } // Ordinary properties DrawHeaderInInspector(); DrawPropertyInInspector(FindProperty(x => x.m_Priority)); DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); DrawRemainingPropertiesInInspector(); if (targets.Length == 1) { // Instructions UpdateCameraCandidates(); EditorGUI.BeginChangeCheck(); EditorGUILayout.Separator(); mInstructionList.DoLayoutList(); EditorGUILayout.Separator(); mChildList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); Target.ValidateInstructions(); } } else { EditorGUILayout.HelpBox(Styles.virtualCameraChildrenInfoMsg.text, MessageType.Info); } // Extensions DrawExtensionsWidgetInInspector(); }