예제 #1
0
        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);
        }