public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { if (!skin) { skin = Resources.Load("skin") as GUISkin; } if (!stateManager) { stateManager = (GameStateGraph)EditorTool.GetAssetOfType(typeof(GameStateGraph), ".asset"); if (!stateManager) { if (EditorUtility.DisplayDialog("配置游戏状态管理器", "第一次需要配置游戏状态管理器!", "确定", "不要取消")) { stateManager = (GameStateGraph)this.NewAsAsset(); } else { stateManager = (GameStateGraph)this.NewAsAsset(); } } } GUI.skin = skin; GUILayout.BeginVertical("游戏状态管理器", "window"); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginVertical(); GUILayout.Space(10); EditorGUILayout.HelpBox("游戏状态管理器是管理每个游戏状态的进入和离开,比如登录状态,创建角色状态等等", MessageType.Info); GUILayout.Space(10); if (GraphWindow.IsClosed() == true) { if (GUILayout.Button("打开游戏状态管理器")) { GraphWindow.OpenWindow(stateManager); } } else { if (GUILayout.Button("关闭游戏状态管理器")) { GraphWindow.CloseWindow(); } } (property.serializedObject.targetObject as UnityMonoDriver).clientGameStateManager.m_oClientStateMachine.m_dicClientStates = new Dictionary <string, ClientStateBase>(GameStateGraph.stateDics); EditorUtility.SetDirty(property.serializedObject.targetObject); GUI.enabled = true; EditorGUILayout.EndVertical(); EditorGUILayout.EndVertical(); }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { if (!skin) { skin = Resources.Load("skin") as GUISkin; } if (!uiManager) { uiManager = (UIGraph)EditorTool.GetAssetOfType(typeof(UIGraph), ".asset"); if (!uiManager) { if (EditorUtility.DisplayDialog("配置游戏UI界面管理器", "第一次需要配置游戏UI界面管理器!", "确定", "不要取消")) { uiManager = (UIGraph)this.NewAsAsset(); } else { uiManager = (UIGraph)this.NewAsAsset(); } } } GUI.skin = skin; GUILayout.BeginVertical("游戏UI界面管理器", "window"); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginVertical(); GUILayout.Space(10); EditorGUILayout.HelpBox("游戏UI界面管理器是管理不同场景游戏界面,比如登录界面,创建角色界面等", MessageType.Info); GUILayout.Space(10); if (GraphWindow.IsClosed() == true) { if (GUILayout.Button("打开游戏UI界面管理器")) { bIsOpen = true; GraphWindow.OpenWindow(uiManager); } } else { if (GUILayout.Button("关闭游戏UI界面管理器")) { bIsOpen = false; GraphWindow.CloseWindow(); } } if (bIsOpen) { GUILayout.Space(10); var uiType = property.FindPropertyRelative("m_eUIType"); EditorGUILayout.PropertyField(uiType, new GUIContent("UI界面插件类型")); uiManager.uiPluginType = (EUIManagerType)uiType.enumValueIndex; GUILayout.Space(10); } (property.serializedObject.targetObject as UnityMonoDriver).uiManager.m_dicUIs = new Dictionary <string, UIBase>(UIGraph.uiDics); //Debug.Log("fwefewf:"+ (property.serializedObject.targetObject as UnityMonoDriver).uiManager.m_dicUIs.Count); EditorUtility.SetDirty(property.serializedObject.targetObject); GUI.enabled = true; EditorGUILayout.EndVertical(); EditorGUILayout.EndVertical(); property.serializedObject.ApplyModifiedProperties(); }