protected override void OnStart()
        {
            GameLevelCtrl t = GameLevelCtrl.Instance;

            base.OnStart();
            m_View = UISceneCtrl.Instance.Load(UISceneType.GameLevel).GetComponent <UIGameLevelView>();
            m_View.SetStepCount(false, 0);
            ChangeSceneCtrl.Instance.Show(ChangeSceneType.Open, Global.Instance.ChangeSceneTime, null);
            m_View.SetUI(Global.Instance.CurLevel);
            GridManager.Instance.CreateNode(Global.Instance.CurLevel);
            Monster.OnRoleStatusChange  += OnRoleStatusChange;
            Player.ValidLineCountChange += OnValidLineCountChange;
            Player.OnGuideEnd           += HideGuide;
            Turn(true);
            GuideObjList = new List <GameObject>();
            GuideObjList.Add(GridManager.Instance.GetCell(6, 2).gameObject);
            if (Global.Instance.CurLevel == 1)
            {
                ShowGuide();
            }
            else
            {
                HideGuide();
            }
        }
        protected override void OnStart()
        {
            base.OnStart();
            m_LevelProcedure = new StateMachine <LevelProcedure>(this.gameObject, true, "LevelProcedureEvent");
            StateMachineDispatcher.Instance.AddEventListen("LevelProcedureEvent", OnLevelProcedureCallBack);
            m_LevelProcedure.ChangeState(LevelProcedure.OpenAni);

            GameLevelCtrl test = GameLevelCtrl.Instance;

            EnemyFaction.OnRoundEnd += OnRoundEndCallBack;
            HeroFaction.OnRoundEnd  += OnRoundEndCallBack;

            m_View = UISceneCtrl.Instance.Load(UISceneType.Game).GetComponent <UISceneViewBase>();
            if (m_View != null)
            {
                m_View.OnLoadComplete += OnMainUIComplete;
                ((UIGameSceneView)m_View).ClickFight += OnClickFightCallBack;
            }
        }