public behaviac.EBTStatus CanAttack(ActorType aimActorType) { // return behaviac.EBTStatus.BT_SUCCESS; if (!m_actor.CanChangeAttack() || m_actor.curActorState == ACTOR_STATE.AS_RUN) { return(behaviac.EBTStatus.BT_FAILURE); } //当前是否硬直状态 if (m_actor.IsNonControl || m_actor.IsActorEndure()) { return(behaviac.EBTStatus.BT_FAILURE); } //增加攻击对象 m_AttackObj = m_actor.GetSelTarget(); if (m_AttackObj) { return(behaviac.EBTStatus.BT_SUCCESS); } else { m_AttackObj = m_actor.AutoSelTarget(10); if (m_AttackObj) { m_actor.SelectTarget(m_AttackObj); return(behaviac.EBTStatus.BT_SUCCESS); } } return(behaviac.EBTStatus.BT_FAILURE); }
/// <summary> /// 判断角色是否可进行攻击。 /// </summary> /// <param name="actor">角色对象。</param> /// <returns>是否可进行攻击。</returns> public static bool CanAttack(ActorObj actor) { if (!actor.CanChangeAttack() || actor.curActorState == ACTOR_STATE.AS_RUN) { return(false); } //当前是否硬直状态 if (actor.IsNonControl || actor.IsActorEndure()) { return(false); } return(true); }