示例#1
0
            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);
                }
            }
示例#2
0
 public void OnFNPlayerConnected(IClientMockPlayer player)
 {
     if (!LobbyPlayers.Contains(player))
     {
         LobbyPlayers.Add(player);
         LobbyPlayersMap.Add(player.NetworkId, player);
     }
 }
示例#3
0
 public void OnFNPlayerDisconnected(IClientMockPlayer player)
 {
     if (LobbyPlayers.Contains(player))
     {
         LobbyPlayers.Remove(player);
         LobbyPlayersMap.Remove(player.NetworkId);
     }
 }
        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;
                }
            }
        }
示例#5
0
            public DummyLobbyMaster()
            {
                DummyPlayer player = new DummyPlayer(0, "Server", 0, 0);

                LobbyPlayers.Add(player);
                LobbyPlayersMap.Add(0, player);
                LobbyTeams.Add(0, new List <IClientMockPlayer>()
                {
                    player
                });
            }