/// <summary>
        /// Test conditionals are placed here.
        /// </summary>
        /// <param name="state"></param>
        /// <returns>true or false depending if transition conditions are met.</returns>
        public override string UpdateConditionalTest(baseState state)
        {
            string strOut = null;

            editorRefactorState theState = (editorRefactorState)state;

            if (theState.ActionCancelled || theState.ActionConfirmed)
            {
                strOut = m_ChangeStateName;
            }

            return(strOut);
        }
Esempio n. 2
0
        /// <summary>
        /// Draws the "Display" window of this window.  Everything is active.
        /// </summary>
        /// <param name="id"></param>
        void DrawNodeWindow(int id)
        {
            const float kTopMagin = 5;
            const float kSpaceBetweenLabelAndText  = -15;
            const float kSpaceBetweenTextAndButton = 10;
            const float kButtonSideMagins          = 30;
            const float kButtonCenterSpace         = 80;
            const float kMinusSpaceLabelHack       = -20;

            var TextStyle = new GUIStyle();

            TextStyle.normal.textColor = Color.blue;
            TextStyle.fontSize         = 12;


            Color backroundColor = new Color(1, 1, 1, 0.8f);
            Rect  rect           = new Rect(1, 17, WinRect.width - 2, WinRect.height - 19);

            EditorGUI.DrawRect(rect, backroundColor);
            GUILayout.Space(kTopMagin);

            GUILayout.BeginHorizontal("");
            GUILayout.Space(kButtonSideMagins);
            GUILayout.Label("This will rename this state's class and refactor", TextStyle);
            GUILayout.Space(kButtonSideMagins);
            GUILayout.EndHorizontal();

            GUILayout.Space(kMinusSpaceLabelHack);

            GUILayout.BeginHorizontal("");
            GUILayout.Space(kButtonSideMagins);
            GUILayout.Label("all linked C# statemachines, states, and ", TextStyle);
            GUILayout.Space(kButtonSideMagins);
            GUILayout.EndHorizontal();

            GUILayout.Space(kMinusSpaceLabelHack);

            GUILayout.BeginHorizontal("");
            GUILayout.Space(kButtonSideMagins);
            GUILayout.Label("state conditions.", TextStyle);
            GUILayout.Space(kButtonSideMagins);
            GUILayout.EndHorizontal();

            GUILayout.Space(kSpaceBetweenLabelAndText);
            m_ChangeName = EditorGUILayout.TextField("Refactor Name: ", m_ChangeName);
            GUILayout.Space(kSpaceBetweenTextAndButton);
            GUILayout.BeginHorizontal("");
            GUILayout.Space(kButtonSideMagins);
            if (GUILayout.Button("Refactor"))
            {
                editorRefactorState refactorState = (editorRefactorState)m_CurrentState;
                utlDataAndFile.RefactorAllAssets(stateEditorUtils.SelectedNode.ClassName, m_ChangeName, Application.dataPath, true);
                stateEditorUtils.SelectedNode.ClassName = m_ChangeName;
                //stateEditorUtils.SelectedNode.SaveMetaData();
                refactorState.ActionConfirmed = true;
                AssetDatabase.Refresh();
            }
            GUILayout.Space(kButtonCenterSpace);
            if (GUILayout.Button("Cancel"))
            {
                editorRefactorState refactorState = (editorRefactorState)m_CurrentState;
                refactorState.ActionCancelled = true;
            }
            GUILayout.Space(kButtonSideMagins);
            GUILayout.EndHorizontal();

            //GUI.DragWindow();
        }