From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/Buff/XBuffTriggerAlways.cs | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Buff/XBuffTriggerAlways.cs (limited to 'Client/Assets/Scripts/XMainClient/Buff/XBuffTriggerAlways.cs') diff --git a/Client/Assets/Scripts/XMainClient/Buff/XBuffTriggerAlways.cs b/Client/Assets/Scripts/XMainClient/Buff/XBuffTriggerAlways.cs new file mode 100644 index 00000000..8cdb2b6f --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Buff/XBuffTriggerAlways.cs @@ -0,0 +1,35 @@ +using System; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XBuffTriggerAlways : XBuffTrigger + { + private uint _TimeToken = 0u; + + private XTimerMgr.ElapsedEventHandler _timeCb = null; + + public XBuffTriggerAlways(XBuff buff) : base(buff) + { + this._timeCb = new XTimerMgr.ElapsedEventHandler(this.OnTimer); + } + + public override void OnAdd(XEntity entity, CombatEffectHelper pEffectHelper) + { + base.OnAdd(entity, pEffectHelper); + this.OnTimer(null); + } + + public override void OnRemove(XEntity entity, bool IsReplaced) + { + base.OnRemove(entity, IsReplaced); + XSingleton.singleton.KillTimer(this._TimeToken); + } + + public void OnTimer(object o) + { + base.Trigger(); + this._TimeToken = XSingleton.singleton.SetTimer(1f, this._timeCb, o); + } + } +} -- cgit v1.1-26-g67d0