void Update()
    {
        if (roleInfo.IsDeath)
        {
            agent.Stop();
            aiOfHeroState = AIOfHeroState.death;
        }
        if (skillmanager.canAddSkill_Q)
        {
            skillmanager.AddSkill_Q();
            skillmanager.CanShowAdd();
        }
        if (skillmanager.canAddSkill_W)
        {
            skillmanager.AddSkill_W();
            skillmanager.CanShowAdd();
        }
        if (skillmanager.canAddSkill_E)
        {
            skillmanager.AddSkill_E();
            skillmanager.CanShowAdd();
        }
        if (roleInfo.Hp > 0)
        {
            Collider[] col = Physics.OverlapSphere(transform.position, 10.0f, roleInfo.EnemyLayer);

            //进入残血状态
            if (roleInfo.Hp <= (roleInfo.HpMax / 2) && roleInfo.Hp >= 0)
            {
                aiOfHeroState = AIOfHeroState.halfBlood;
            }
            //进入遇敌状态
            if (col.Length > 0 && aiOfHeroState != AIOfHeroState.halfBlood && roleInfo.Hp > 0)
            {
                aiOfHeroState = AIOfHeroState.meetEnemy;
            }
            //进入巡逻状态
            if (aiOfHeroState != AIOfHeroState.halfBlood && col.Length == 0 && roleInfo.Hp > 0)
            {
                aiOfHeroState = AIOfHeroState.patrol;
            }


            //残血状态
            if (aiOfHeroState == AIOfHeroState.halfBlood)
            {
                roleMain.SetMoveTarget(targetOfAI.target02.position);
                if (roleInfo.Hp == roleInfo.HpMax)
                {
                    aiOfHeroState = AIOfHeroState.patrol;
                }
            }


            //巡逻状态
            if (aiOfHeroState == AIOfHeroState.patrol && col.Length == 0)
            {
                Transform target = targetOfAI.target02;
                if (uimanager.mapSelect == MapSelect.oneVSone)
                {
                    if (targetOfAI.target01 == null)
                    {
                        target = targetOfAI.target03;
                        roleMain.SetMoveTarget(target.position);
                    }
                    else
                    {
                        target = targetOfAI.target01;
                        roleMain.SetMoveTarget(target.position);
                    }
                }
                else if (uimanager.mapSelect == MapSelect.threeVSthree)
                {
                    if (!isGet)
                    {
                        roleMain.SetMoveTarget(targetOfAI.target_Roadpoint.position);
                    }
                    else
                    {
                        if (targetOfAI.target01 == null)
                        {
                            target = targetOfAI.target03;
                            roleMain.SetMoveTarget(target.position);
                        }
                        else
                        {
                            target = targetOfAI.target01;
                            roleMain.SetMoveTarget(target.position);
                        }
                    }
                }
            }
            //遇敌状态
            if (aiOfHeroState == AIOfHeroState.meetEnemy && roleInfo.Hp > 0)
            {
                atkTimeCount     += Time.deltaTime;
                Q_skillTimeCount += Time.deltaTime;
                W_skillTimeCount += Time.deltaTime;
                E_skillTimeCount += Time.deltaTime;
                //获取范围内敌人信息,跟随最近敌人
                float minDistance = Vector3.Distance(transform.position, col [0].transform.position);
                int   chioce      = 0;
                for (int i = 0; i < col.Length; i++)
                {
                    float currentDis = Vector3.Distance(transform.position, col [i].transform.position);
                    if (currentDis < minDistance)
                    {
                        chioce = i;
                    }
                }
                if (col [chioce].transform != null)
                {
                    roleMain.SetMoveTarget(col [chioce].transform.position);
                }
                //在一定范围内攻击
                if (Vector3.Distance(transform.position, col [chioce].transform.position) <= roleInfo.attack_Radius)
                {
//					if (atkTimeCount >= (1 / roleInfo.attack_Speed)) {
//						//英雄普通攻击
//						roleMain.Akt_normal ();
//						atkTimeCount = 0;
//					}
                    if (Q_skillTimeCount >= 3f)
                    {
                        //英雄技能Q
                        roleMain.SetSkill_Q();
                        Q_skillTimeCount = 0;
                    }
                    if (W_skillTimeCount >= 5f)
                    {
                        //英雄技能W
                        roleMain.SetSkill_W();
                        W_skillTimeCount = 0;
                    }
                    if (E_skillTimeCount >= 7f)
                    {
                        //英雄技能E
                        roleMain.SetSkill_W();
                        E_skillTimeCount = 0;
                    }
                }
                if (col.Length == 0)
                {
                    aiOfHeroState = AIOfHeroState.patrol;
                }
            }
        }
    }