public override void OnInspectorGUI() { //获取脚本对象 EditorInspector script = target as EditorInspector; //绘制滚动条 script.scrollPos = EditorGUILayout.BeginScrollView(script.scrollPos, false, true); script.myName = EditorGUILayout.TextField("text", script.myName); script.myId = EditorGUILayout.IntField("int", script.myId); script.prefab = EditorGUILayout.ObjectField("GameObject", script.prefab, typeof(GameObject), true) as GameObject; //绘制按钮 EditorGUILayout.BeginHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Button("1"); GUILayout.Button("2"); script.myEnum = (EditorInspector.MyEnum)EditorGUILayout.EnumPopup("MyEnum:", script.myEnum); //Toggle组件 m_EnableToogle = EditorGUILayout.BeginToggleGroup("EnableToggle", m_EnableToogle); script.toogle1 = EditorGUILayout.Toggle("toggle1", script.toogle1); script.toogle2 = EditorGUILayout.Toggle("toggle2", script.toogle2); EditorGUILayout.EndToggleGroup(); EditorGUILayout.EndScrollView(); }
public override void OnInspectorGUI() { GUILayout.Space(5); serializedObject.Update(); me.childSpawnPoints = me.transform.GetComponentsInChildren <SpawnPoint>(); if (debugToggle.boolValue = EditorInspector.ToggleLayout("Debug", debugToggle.boolValue)) { GUILayout.BeginHorizontal(); if (GUILayout.Button("StartWave")) { if (Application.isPlaying) { me.StartWave(); } } if (GUILayout.Button("N.NextWave")) { if (Application.isPlaying) { me.NowNextWave(); } } if (GUILayout.Button("T.NextWave")) { if (Application.isPlaying) { me.TimeNextWave(waveDelay.intValue); } } GUILayout.EndHorizontal(); EditorGUILayout.PropertyField(gizmosColor, new GUIContent("Gizmos Color")); EditorGUILayout.PropertyField(gizmosSize, new GUIContent("Gizmos Size")); } if (settingToggle.boolValue = EditorInspector.ToggleLayout("Setting", settingToggle.boolValue)) { autoStart.boolValue = EditorGUILayout.ToggleLeft(new GUIContent("Auto Start"), autoStart.boolValue); autoProceed.boolValue = EditorGUILayout.BeginToggleGroup(new GUIContent("Auto Proceed"), autoProceed.boolValue); EditorGUILayout.PropertyField(waveDelay, new GUIContent("Wave Delay")); EditorGUILayout.EndToggleGroup(); EditorGUILayout.PropertyField(separatedPattern, new GUIContent("Separated Pattern")); } if (waveEventToggle.boolValue = EditorInspector.ToggleLayout("Wave Event", waveEventToggle.boolValue)) { EditorGUILayout.PropertyField(onWaveStart, new GUIContent("On Wave Start")); EditorGUILayout.PropertyField(onWaveFinish, new GUIContent("On Wave Finish")); EditorGUILayout.PropertyField(onWaveClear, new GUIContent("On Wave Clear")); } if (waveProcessingEventToggle.boolValue = EditorInspector.ToggleLayout("Wave Processing Event", waveProcessingEventToggle.boolValue)) { EditorGUILayout.PropertyField(onWaveProceedInt, new GUIContent("On Wave Proceed")); EditorGUILayout.PropertyField(onWaveProceedString, new GUIContent("On Wave Proceed")); } if (sequenceEventToggle.boolValue = EditorInspector.ToggleLayout("Sequence Event", sequenceEventToggle.boolValue)) { EditorGUILayout.PropertyField(onAllWaveClear, new GUIContent("On All Wave Clear")); } EditorGUILayout.LabelField("Wave State", waveState.enumDisplayNames[waveState.enumValueIndex]); EditorGUILayout.LabelField(new GUIContent("Current Wave"), new GUIContent(currentWave.intValue.ToString())); if (waveSequence.arraySize > 0) { DrawWaveManager(); } else { GUILayout.Space(5f); EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Start New Wave Sequence", GUILayout.Width(180))) { CreateWaveSequence(null); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); GUILayout.Space(5f); } EditorUtility.SetDirty(me); serializedObject.ApplyModifiedProperties(); }