/// <summary>
        /// 移除角色身上指定触发型被动技能的执行器
        /// </summary>
        /// <param name="skill">Skill.</param>
        public void RemoveTriggeredSkillExcutor(TriggeredPassiveSkill skill)
        {
            // 非战斗状态下不执行
            if (!isInFight)
            {
                return;
            }

            // 更具技能的触发时机查询移除技能执行器
            if (skill.beforeFightTrigger)
            {
                int index = beforeFightTriggerExcutors.FindIndex(delegate(TriggeredSkillExcutor obj) {
                    return(obj.triggeredSkill == skill);
                });
                beforeFightTriggerExcutors.RemoveAt(index);
            }

            if (skill.attackTrigger)
            {
                int index = attackTriggerExcutors.FindIndex(delegate(TriggeredSkillExcutor obj) {
                    return(obj.triggeredSkill == skill);
                });
                attackTriggerExcutors.RemoveAt(index);
            }

            if (skill.hitTrigger)
            {
                int index = hitTriggerExcutors.FindIndex(delegate(TriggeredSkillExcutor obj) {
                    return(obj.triggeredSkill == skill);
                });
                hitTriggerExcutors.RemoveAt(index);
            }

            if (skill.beAttackTrigger)
            {
                int index = beAttackedTriggerExcutors.FindIndex(delegate(TriggeredSkillExcutor obj) {
                    return(obj.triggeredSkill == skill);
                });
                beAttackedTriggerExcutors.RemoveAt(index);
            }

            if (skill.beHitTrigger)
            {
                int index = beHitTriggerExcutors.FindIndex(delegate(TriggeredSkillExcutor obj) {
                    return(obj.triggeredSkill == skill);
                });
                beHitTriggerExcutors.RemoveAt(index);
            }

            if (skill.fightEndTrigger)
            {
                int index = fightEndTriggerExcutors.FindIndex(delegate(TriggeredSkillExcutor obj) {
                    return(obj.triggeredSkill == skill);
                });
                fightEndTriggerExcutors.RemoveAt(index);
            }
        }
 public void Clear()
 {
     triggeredSkill    = null;
     triggeredCallback = null;
 }
 public TriggeredSkillExcutor(TriggeredPassiveSkill ts, SkillCallBack callBack)
 {
     this.triggeredSkill    = ts;
     this.triggeredCallback = callBack;
 }