コード例 #1
0
ファイル: FSMState.cs プロジェクト: yasirmx/UmbraFeraMain
        void ShowBaseFSMInspectorGUI()
        {
            EditorUtils.CoolLabel("Transitions");

            if (outConnections.Count == 0)
            {
                GUI.backgroundColor = new Color(1, 1, 1, 0.5f);
                GUILayout.BeginHorizontal("box");
                GUILayout.Label("No Transitions");
                GUILayout.EndHorizontal();
                GUI.backgroundColor = Color.white;
            }

            var onFinishExists = false;

            EditorUtils.ReorderableList(outConnections, delegate(int i){
                FSMConnection connection = (FSMConnection)outConnections[i];
                GUI.backgroundColor      = new Color(1, 1, 1, 0.5f);
                GUILayout.BeginHorizontal("box");
                if (connection.condition)
                {
                    GUILayout.Label(connection.condition.summaryInfo);
                }
                else
                {
                    GUILayout.Label("OnFinish" + (onFinishExists? " (exists)" : ""));
                    onFinishExists = true;
                }

                GUILayout.FlexibleSpace();
                GUILayout.Label("--> '" + connection.targetNode.nodeName + "'");
                if (GUILayout.Button(">"))
                {
                    Graph.currentSelection = connection;
                }

                GUILayout.EndHorizontal();
                GUI.backgroundColor = Color.white;
            });

            if (this.GetType() != typeof(FSMAnyState))
            {
                transitionEvaluation = (TransitionEvaluation)EditorGUILayout.EnumPopup(transitionEvaluation);
            }

            EditorUtils.BoldSeparator();
        }