private void SendSpectatorAndTeamUpdatesOnServer() { if (!_arenaStateSendTimer.IsElapsed) return; var message = new SpectatorOrTeamUpdateMessage(); foreach (var spec in DataEngine.Spectators) message.Add(spec.ID, spec, SerializationModeFlags.VaryingDataFromServer); foreach (var team in DataEngine.Teams) message.Add(team.ID, team, SerializationModeFlags.VaryingDataFromServer); NetworkEngine.SendToGameClients(message); }
private void HandleSpectatorOrTeamUpdateMessage(SpectatorOrTeamUpdateMessage mess) { mess.Read(id => (INetworkSerializable)Game.DataEngine.FindSpectator(id) ?? Game.DataEngine.FindTeam(id), SerializationModeFlags.VaryingDataFromServer, 0); }