void OnEndMove() { m_role.View.Idle(); //idle动画 m_role.Pos = m_targetPos; //设置逻辑位置 var enemy = AIManager.Instance.GetNearestEnemy(m_role); if (enemy != null) { //面向最近的敌人 m_role.View.LookAtWorldPosInBattle(enemy.View.transform.position); } if (m_role.isAI) { //ai不能放招式 休息 下一步 if (BattleStateMechine.Instance.CurrentZhaoshi == null && BattleStateMechine.Instance.CurrentUseItem == null) { //m_role.Reset();应该是OnRest m_role.OnRest(); BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.WaitingForNextActiveBattleRole); return; } //ai用道具 else if (BattleStateMechine.Instance.CurrentUseItem != null) { BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.UseItem); return; } BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.PlayingAction); } else { BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.SelectSkill); } }
void DoAIAction(BattleBlockVector MoveTo, BattleBlockVector SkillTo, BattleZhaoshiInstance Skill, Jyx2Item Item) { //将ai行为储存 BattleStateMechine.Instance.BindBattleAction(Skill, SkillTo); BattleStateMechine.Instance.BindItem(Item); if (MoveTo != null) { BattleStateMechine.Instance.CurrentToPos = MoveTo; BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.Move); } else { m_currentRole.View.Idle(); m_currentRole.OnRest(); BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.WaitingForNextActiveBattleRole); } }
void OnRestClick() { m_currentRole.OnRest(); BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.WaitingForNextActiveBattleRole); }