void OnGUI()
        {
            MachineStateInputEventController.PlayerControlUse();
            DrawLeftToolAreaGUI();
            DrawToolBarGUI();
            DrawRightToolAreaGUI();
            ndoeControlRange = new Rect(leftToolAreaRect.xMax, topRightToolBarRect.yMax, Screen.width - leftToolAreaRect.width - RightToolAreaWith, Screen.height - topRightToolBarRect.height);

            StateMachineBGGUI.BeginGUI(ndoeControlRange, StateMachineEditorGUI.stateMachineMaxRange);
            MachineStateInputEventController.OnMachineStateMouseRightClickMenu();
            BeginWindows();
            StateTransitionGUI.DrawTempArrowTransition();
            StateMachineEditorGUI.DrawAllStateMachineGUI();

            EndWindows();
            StateMachineBGGUI.EndGUI();
        }
        public static void DrawAllStateMachineGUI()
        {
            stateMachineMaxRange = Rect.zero;
            foreach (var ms in MachineStateGUIDataControl.allMachineStateGUI)
            {
                Rect range = ms.GUIRect;
                stateMachineMaxRange.xMin = stateMachineMaxRange.xMin > range.xMin ? range.xMin : stateMachineMaxRange.xMin;
                stateMachineMaxRange.xMax = stateMachineMaxRange.xMax < range.xMax ? range.xMax : stateMachineMaxRange.xMax;
                stateMachineMaxRange.yMin = stateMachineMaxRange.yMin > range.yMin ? range.yMin : stateMachineMaxRange.yMin;
                stateMachineMaxRange.yMax = stateMachineMaxRange.yMax < range.yMax ? range.yMax : stateMachineMaxRange.yMax;
            }


            StateTransitionGUI.OnGUI();

            MachineStateGUI.OnGUI();
        }