private void RespawnTimerTick(object sender, ElapsedEventArgs e) { foreach (var kvp in RespawnDict.ToArray()) { long elapsedTicks = DateTime.Now.Ticks - kvp.Value.Ticks; TimeSpan elapsedSpan = new TimeSpan(elapsedTicks); if (elapsedSpan.TotalMilliseconds >= kvp.Key.Location.RespawnDelay) { kvp.Key.Spawn(true); DeRegisterRespawn(kvp.Key); } } }
private void DeRegisterRespawn(L2Spawn spawn) { RespawnDict.Remove(spawn); }
public void RegisterRespawn(L2Spawn spawn) { RespawnDict.Add(spawn, DateTime.Now); }