示例#1
0
 public override ISkillTrigger.TriggerStatus Triggered(ISkillArgs args)
 {
     if (!or)
     {
         for (int i = 0; i < triggers.Count; i++)
         {
             ISkillTrigger t = triggers[i];
             ISkillTrigger.TriggerStatus ts = t.Triggered(args);
             if (ts == ISkillTrigger.TriggerStatus.Failed || ts == ISkillTrigger.TriggerStatus.Interrupted)
             {
                 return(ts);
             }
         }
         return(ISkillTrigger.TriggerStatus.Success);
     }
     else
     {
         for (int i = 0; i < triggers.Count; i++)
         {
             ISkillTrigger t = triggers[i];
             ISkillTrigger.TriggerStatus ts = t.Triggered(args);
             if (ts == ISkillTrigger.TriggerStatus.Success)
             {
                 return(ts);
             }
         }
         return(ISkillTrigger.TriggerStatus.Failed);
     }
 }
 public virtual void SetTrigger(ISkillTrigger trigger)
 {
     this.trigger = trigger;
 }