示例#1
0
        public void notifyAllPlayers()
        {
            List <string> clientsUrl = new List <string>();

            for (int i = 0; i < maxPlayersServer; i++)
            {
                clientsUrl.Add(players[i].getUrl());
            }
            for (int i = 0; i < maxPlayersServer; i++)
            {
                try
                {
                    Console.WriteLine(players[i].getUrl());
                    ClientInterface c = (ClientInterface)Activator.GetObject(typeof(ClientInterface), players[i].getUrl());
                    c.notifyGameStart();
                    // c.updatePlayersOnClient(clientsUrl);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    failureDetector.getKnownProcessById(i.ToString()).addFail(new Fail());
                    //make thread to try again with this client
                    players[i].setAlive(false);
                }
            }
            Console.WriteLine("All players notified");
        }