public BuffManager() { updateBuffsTimer.Setup(1, (delta) => { foreach (var pair in buffs) { pair.Value.Update(delta); } }); removeExpiredTimer.Setup(1, (delta) => { List <string> keys = new List <string>(); foreach (var pair in buffs) { if (!pair.Value.IsValid) { keys.Add(pair.Key); } } foreach (string key in keys) { BuffInfo buff = buffs[key]; buffs.Remove(key); //buff removed event RavenhillEvents.OnBuffRemoved(buff); } }); }
public RoomModeSwitcher(float switchInterval, IRoomMode roomMode) { this.switchInterval = switchInterval; this.switchTimer = switchInterval; this.roomMode = roomMode; eventTimer = new UpdateTimer(); eventTimer.Setup(1.0f, (realDelay) => { RavenhillEvents.OnRoomModeSwitchTimerChanged(switchTimer, switchInterval); }); }