Beispiel #1
0
 /// <summary>
 /// 触发函数
 /// </summary>
 /// <param name="self">使用技能的单位</param>
 /// <param name="ignoreInput">是否屏蔽技能输入</param>
 public void Execute(AbstractPerson self, bool ignoreInput = false, float startTime = 0)
 {
     if (!self.InputOk)
     {
         return;
     }
     if (ignoreInput)
     {
         self.IgnoreInput(this.lastTime);
         return;
     }
     this.startTime = startTime;
     if (this.isUsed == true)
     {
         foreach (var trigger in skillTriggers)
         {
             trigger.Release();
         }
     }
     else
     {
         this.isUsed = true;
     }
     if (onSkillBegin != null)
     {
         onSkillBegin(this);
     }
     foreach (var trigger in skillTriggers)
     {
         trigger.Execute(self);
     }
     MainLoop.Instance.ExecuteLater(Reset, this.lastTime);
 }