public void OnTouchHeroFinish()
    {
        if (GameManager.tutorial.step != TutorialManager.TutorialStep.Control_NPCFinshed)
        {
            return;
        }
        if (tutStep >= TutorialStepForBattle.TabToHero)
        {
            return;
        }
        if (heroFirst == null)
        {
            return;
        }
        if (TouchController.instance.controllerGetSkill != heroFirst.controller)
        {
            return;
        }

        tutStep = TutorialStepForBattle.TabToHero;

        uiTutorial.arrowTouchHero.SetActive(false);

        uiTutorial.hand.SetActive(true);

        uiTutorial.startPoint.localPosition = Helper.GetScreenPosOfWorldPos(heroFirst.gameObject.transform.position,
                                                                            uiTutorial.startPoint.transform, NGUITools.FindCameraForLayer(uiTutorial.startPoint.gameObject.layer));

        uiTutorial.endPoint.localPosition = Helper.GetScreenPosOfWorldPos(_tutorial_PosMove,
                                                                          uiTutorial.endPoint.transform, NGUITools.FindCameraForLayer(uiTutorial.endPoint.gameObject.layer));

        StartCoroutine(MoveHand());
    }
    public void OnHeroFinishedMove(Controller con)
    {
        if (GameManager.tutorial.step == TutorialManager.TutorialStep.Control_NPCFinshed)
        {
            if (heroFirst == null)
            {
                return;
            }
            if (con == heroFirst.controller)
            {
                if (tutStep == TutorialStepForBattle.MoveHero)
                {
                    GameplayManager.Instance.CreateFirstMobForTutorial();
                    tutStep = TutorialStepForBattle.CreateMob;
                }

                OnTargetToMonster();
            }
        }
    }
    public void OnMonsterIsDie()
    {
        if (GameManager.tutorial.step == TutorialManager.TutorialStep.Control_NPCFinshed)
        {
            if (tutStep >= TutorialStepForBattle.AutoSkill)
            {
                return;
            }

            if (uiTutorial.hand.activeInHierarchy)
            {
                iTween.StopByName("movehand");
                uiTutorial.hand.SetActive(false);
            }
            uiTutorial.arrowSkill1.SetActive(false);
            uiTutorial.arrowSkill2.SetActive(false);

            tutStep = TutorialStepForBattle.AutoSkill;
            OnToggleAutoSkill();
        }
    }
    public void OnFinishedTargetToMonster()
    {
        if (GameManager.tutorial.step == TutorialManager.TutorialStep.Control_NPCFinshed)
        {
            if (tutStep >= TutorialStepForBattle.TargetToMob)
            {
                return;
            }

            tutStep = TutorialStepForBattle.TargetToMob;
            if (uiTutorial.hand.activeInHierarchy)
            {
                if (uiTutorial.hand != null && uiTutorial.hand.GetComponent <iTween>() != null)
                {
                    iTween.Stop(uiTutorial.hand);
                }
                else
                {
                    Debug.Log("*************NULL");
                }
                uiTutorial.hand.SetActive(false);
            }
            uiTutorial.arrowTouchHero.SetActive(false);
            GameplayManager.Instance.heroEnemySet[0].controller.isMobTutorial = true;

            if (heroFirst.controller.role.RoleSkills.Count > 1)
            {
                if (heroFirst.controller.role.RoleSkills[1].GameSkill.SkillType != (int)SkillType.Aura)
                {
                    uiTutorial.arrowSkill1.SetActive(true);
                }
                else
                {
                    uiTutorial.arrowSkill2.SetActive(true);
                }
            }

            heroFirst.controller.isMobTutorial = true;
        }
    }
    public void Tutorial()
    {
        if (GameManager.tutorial.step != TutorialManager.TutorialStep.Control_NPCFinshed)
        {
            return;
        }

        tutStep = TutorialStepForBattle.None;
        uiTutorial.root.gameObject.SetActive(true);
        heroFirst = GameplayManager.Instance.heroPlayerSet.FirstOrDefault(p => p.controller.role.GameRole.Class != (int)RoleClass.Healer);
        if (heroFirst == null)
        {
            return;
        }

        uiTutorial.arrowTouchHero.transform.localPosition = Helper.GetScreenPosOfWorldPos(heroFirst.gameObject.transform.position,
                                                                                          uiTutorial.arrowTouchHero.transform, NGUITools.FindCameraForLayer(uiTutorial.startPoint.gameObject.layer));
        uiTutorial.arrowTouchHero.SetActive(true);

        uiTutorial.hand.SetActive(false);

        uiTutorial.arrowWorldMap.SetActive(true);
    }
    public void OnMoveHero()
    {
        if (GameManager.tutorial.step == TutorialManager.TutorialStep.Control_NPCFinshed)
        {
            if (uiTutorial.hand.activeInHierarchy)
            {
                if (uiTutorial.hand != null && uiTutorial.hand.GetComponent <iTween>() != null)
                {
                    iTween.Stop();
                }
                else
                {
                    Debug.Log("*************NULL");
                }
                uiTutorial.hand.SetActive(false);
            }

            if (tutStep >= TutorialStepForBattle.MoveHero)
            {
                return;
            }
            tutStep = TutorialStepForBattle.MoveHero;
        }
    }