public void OnFNLobbyMasterKnowledgeTransfer(ILobbyMaster previousLobbyMaster) { LobbyPlayers.Clear(); LobbyPlayersMap.Clear(); LobbyTeams.Clear(); for (int i = 0; i < previousLobbyMaster.LobbyPlayers.Count; ++i) { IClientMockPlayer player = previousLobbyMaster.LobbyPlayers[i]; LobbyPlayers.Add(player); LobbyPlayersMap.Add(player.NetworkId, player); } IEnumerator iter = previousLobbyMaster.LobbyTeams.GetEnumerator(); iter.Reset(); while (iter.MoveNext()) { if (iter.Current != null) { KeyValuePair <int, List <IClientMockPlayer> > kv = (KeyValuePair <int, List <IClientMockPlayer> >)iter.Current; LobbyTeams.Add(kv.Key, kv.Value); } else { break; } } foreach (KeyValuePair <int, List <IClientMockPlayer> > kv in previousLobbyMaster.LobbyTeams) { LobbyTeams.Add(kv.Key, kv.Value); } }
public void OnFNLobbyMasterKnowledgeTransfer(ILobbyMaster previousLobbyMaster) { LobbyPlayers.Clear(); LobbyPlayersMap.Clear(); LobbyTeams.Clear(); for (int i = 0; i < previousLobbyMaster.LobbyPlayers.Count; ++i) { LobbyPlayer player = GrabPlayer(previousLobbyMaster.LobbyPlayers[i]); LobbyPlayers.Add(player); LobbyPlayersMap.Add(player.NetworkId, player); } IEnumerator iterTeams = previousLobbyMaster.LobbyTeams.GetEnumerator(); iterTeams.Reset(); while (iterTeams.MoveNext()) { if (iterTeams.Current != null) { KeyValuePair <int, List <IClientMockPlayer> > kv = (KeyValuePair <int, List <IClientMockPlayer> >)iterTeams.Current; List <IClientMockPlayer> players = new List <IClientMockPlayer>(); for (int i = 0; i < kv.Value.Count; ++i) { players.Add(GrabPlayer(kv.Value[i])); } LobbyTeams.Add(kv.Key, players); } else { break; } } IEnumerator iterPlayersMap = previousLobbyMaster.LobbyPlayersMap.GetEnumerator(); iterPlayersMap.Reset(); while (iterPlayersMap.MoveNext()) { if (iterPlayersMap.Current != null) { KeyValuePair <uint, IClientMockPlayer> kv = (KeyValuePair <uint, IClientMockPlayer>)iterPlayersMap.Current; if (LobbyPlayersMap.ContainsKey(kv.Key)) { LobbyPlayersMap[kv.Key] = GrabPlayer(kv.Value); } else { LobbyPlayersMap.Add(kv.Key, GrabPlayer(kv.Value)); } } else { break; } } }