Exemple #1
0
    public override void OnInspectorGUI()
    {
        DefaultGameState defaultGameState = (DefaultGameState)target;

        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Default Game States", new GUIStyle
        {
            alignment = TextAnchor.MiddleCenter,
            fontSize  = 18,
            fontStyle = FontStyle.Bold
        });
        EditorGUILayout.Space();

        foreach (GameState gameState in Enum.GetValues(typeof(GameState)))
        {
            if (!defaultGameState.GameStateInfos.Exists(info => info.GameState == gameState))
            {
                defaultGameState.GameStateInfos.Add(new DefaultGameState.GameStateInfo
                {
                    GameState = gameState,
                    State     = State.Disabled
                });
            }
        }

        foreach (DefaultGameState.GameStateInfo info in defaultGameState.GameStateInfos)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel(info.GameState.ToString());
            info.State = (State)EditorGUILayout.EnumPopup(info.State);
            EditorGUILayout.EndHorizontal();
        }
    }
Exemple #2
0
        static void CreateBuildingViewDefinitions()
        {
            DefaultGameState asset = ScriptableObject.CreateInstance <DefaultGameState>();

            AssetDatabase.CreateAsset(asset, DefaultGameState.DefaultGameStateDefinitionPath);
            AssetDatabase.SaveAssets();
            EditorUtility.FocusProjectWindow();
            Selection.activeObject = asset;
        }