namespace GameLogic.Combat.Hero.State { public class CombatHeroRepelledState: CombatHeroStateBasic { public CombatHeroRepelledState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { } protected override void ProEnter() { // combatHeroEntity.combatHeroAnimtion.Play("idle"); } protected override void ProUpdate(float t) { // if (combatHeroEntity.CombatAIBasic.currFocusTarget == null) // { // return; // } // // Vector3 targetPos = combatHeroEntity.CombatAIBasic.currFocusTarget.dotPos; // Vector3 myPos = combatHeroEntity.dotPos; // if (Vector3.SqrMagnitude(targetPos - myPos) > combatHeroEntity.CurrCombatHeroInfo.maxDisTo) // { // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.move); // } // else // { // GameObject[] b = combatHeroEntity.CombatAIBasic.AreaList; // if (b != null && b.Length > 0) // { // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.rolling); // } // else // { // Vector3 nextPos = combatHeroEntity.CombatAIBasic.currFocusTarget.dotPos; // Vector3 p = nextPos - combatHeroEntity.dotPos; // // if (p.sqrMagnitude > 0.00001) // { // float dot = Vector3.Dot(p.normalized, combatHeroEntity.combatHeroGameObject.transform.forward); // if (dot < 0.95f) // { // Quaternion.LookRotation(p.normalized); // combatHeroEntity.combatHeroGameObject.rotation = Quaternion.Lerp( // combatHeroEntity.combatHeroGameObject.rotation, Quaternion.LookRotation(p.normalized), // 0.5f); // return; // } // } // // // if (combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill() != null) // { // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.att); // } // } // } } } }