public override void Update(GameTime gameTime) { GUI.Update(gameTime); if (LevelBeingUpdated) { LevelUpdatedEvent e = pendingEvents.Where(obj => obj is LevelUpdatedEvent).First() as LevelUpdatedEvent; int luIndex = pendingEvents.IndexOf(e); for (int i = 0; i < luIndex; i++) { pendingEvents.RemoveAt(0); } } if (pendingEvents.Count > 0) { ExecuteIfValid(pendingEvents[0]); } }
private void SendOutUpdatedLevel(bool first = false) { LevelUpdatedEvent e = first ? new JoinedServerEvent(Level) : new LevelUpdatedEvent(Level); SendToAllClients(e); }