public void AddTimer(EventTimerInst timer) { if (timer.timeRemain >= 0) { Timers.Add(timer); } }
// Update is called once per frame void Update() { for (int index = 0; index < Timers.Count; ++index) { EventTimerInst timer = Timers[index]; if (timer.Update(Time.deltaTime)) { Timers.Remove(timer); --index; } } }
public override void Clear(EventTimerInst inst) { inst.pawn.OnHit -= inst.Stop; inst.pawn.OnTransport -= inst.Stop; }
public override void Init(EventTimerInst inst) { base.Init(inst); inst.pawn.OnHit += inst.Stop; inst.pawn.OnTransport += inst.Stop; }
public virtual void Clear(EventTimerInst inst) { }
public virtual void Init(EventTimerInst inst) { inst.timeRemain = DelayTime; }