示例#1
0
 private void SendTeamSettingsToGameClients()
 {
     var mess = new TeamSettingsMessage();
     var serializationMode = SerializationModeFlags.ConstantDataFromServer | SerializationModeFlags.VaryingDataFromServer;
     foreach (var team in DataEngine.Teams) mess.Add(team.ID, team, serializationMode);
     foreach (var conn in NetworkEngine.GameClientConnections) conn.Send(mess);
 }
示例#2
0
 private void HandleTeamSettingsMessageOnClient(TeamSettingsMessage mess)
 {
     mess.Read(id =>
         {
             var team = Game.DataEngine.FindTeam(id);
             if (team == null) Game.DataEngine.Teams.Add(team = new Team("<uninitialised>", Game.DataEngine.FindSpectator) { ID = id });
             return team;
         },
         SerializationModeFlags.ConstantDataFromServer | SerializationModeFlags.VaryingDataFromServer, 0);
     // Remove teams that were not mentioned in the message.
     if (mess.IDs.Count() != Game.DataEngine.Teams.Count)
         Game.DataEngine.Teams.Remove(team => !mess.IDs.Contains(team.ID));
 }