예제 #1
0
        public void NextAction(bool isMove, BattleCore.SkillResult result)
        {
            if (this.m_Action == null)
            {
                return;
            }
            bool flag = (bool)this.m_Action.notBlock;

            if (isMove)
            {
                flag = (int)this.m_Action.type == 2 || flag;
            }
            else if (result != null && result.skill != null)
            {
                if (!string.IsNullOrEmpty((string)this.m_Action.skill))
                {
                    flag = (string)this.m_Action.skill == result.skill.SkillID || flag;
                }
                else if ((int)this.m_Action.type == 1)
                {
                    SkillData attackSkill = this.owner.GetAttackSkill();
                    if (attackSkill != null)
                    {
                        flag = attackSkill.SkillID == result.skill.SkillID || flag;
                    }
                }
                else if ((int)this.m_Action.type == 2)
                {
                    flag = true;
                }
            }
            else
            {
                flag = (int)this.m_Action.type == 0 || flag;
            }
            if (this.m_Action.nextTurnAct != eAIActionNextTurnAct.NONE && this.m_IsNoExecActionSkill)
            {
                flag = this.m_Action.nextTurnAct == eAIActionNextTurnAct.NEXT_ACTION;
                if (this.m_Action.nextTurnAct == eAIActionNextTurnAct.SPECIFIED_ACTION && this.m_Action.turnActIdx > 0 && this.m_Owner.SetAIAction(this.m_Action.turnActIdx - 1) != null)
                {
                    this.m_Action = (AIAction)null;
                    return;
                }
            }
            if (!flag)
            {
                return;
            }
            this.m_Action = (AIAction)null;
            this.m_Owner.NextAIAction();
        }
예제 #2
0
 public void Clear()
 {
     this.m_AllSkills.Clear();
     this.m_UseSkill    = (BattleCore.SkillResult)null;
     this.m_Action      = (AIAction)null;
     this.m_UseSkillNum = 0;
     this.m_UseSkillLists.Clear();
     this.m_ForceSkillList.Clear();
     this.m_HealSkills.Clear();
     this.m_DamageSkills.Clear();
     this.m_SupportSkills.Clear();
     this.m_CureConditionSkills.Clear();
     this.m_FailConditionSkills.Clear();
     this.m_DisableConditionSkills.Clear();
     this.m_ExeSkills.Clear();
     this.Reset();
 }
예제 #3
0
        public void NextAction(bool isMove, BattleCore.SkillResult result)
        {
            if (this.m_Action == null)
            {
                return;
            }
            bool flag = (bool)this.m_Action.notBlock;

            if (isMove)
            {
                flag = (int)this.m_Action.type == 2 || flag;
            }
            else if (result != null && result.skill != null)
            {
                if (!string.IsNullOrEmpty((string)this.m_Action.skill))
                {
                    flag = (string)this.m_Action.skill == result.skill.SkillID || flag;
                }
                else if ((int)this.m_Action.type == 1)
                {
                    SkillData attackSkill = this.owner.GetAttackSkill();
                    if (attackSkill != null)
                    {
                        flag = attackSkill.SkillID == result.skill.SkillID || flag;
                    }
                }
                else if ((int)this.m_Action.type == 2)
                {
                    flag = true;
                }
            }
            else
            {
                flag = (int)this.m_Action.type == 0 || flag;
            }
            if (!flag)
            {
                return;
            }
            this.m_Action = (AIAction)null;
            this.m_Owner.NextAIAction();
        }
예제 #4
0
 public void NextAction(BattleCore.SkillResult result)
 {
     this.NextAction(false, result);
 }
예제 #5
0
 public void SetUseSkill(BattleCore.SkillResult result)
 {
     this.m_UseSkill = result;
 }