//--------------------------------------------------------------------- public void Update(float tm) { if (ListDelayer.Count > 0) { foreach (var i in ListDelayer) { i.LeftTm -= tm; if (i.IsDone()) { Que2Delete.Enqueue(i); } } while (Que2Delete.Count > 0) { var delayer = Que2Delete.Dequeue(); ListDelayer.Remove(delayer); delayer._onEnd(); } } }
//--------------------------------------------------------------------- public void _remove(Delayer delayer) { ListDelayer.Remove(delayer); }