/// <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); }