예제 #1
0
        public override void update(GameTime gameTime)
        {
            // Clear domain
            Domain.Clean();

            foreach (Entity playerName in players)
            {
                playerName.Delete();
            }
            players.Clear();

            IEnumerable <ITuple> users = ClientProtocol.GetClientsInLobby();

            foreach (ITuple user in users)
            {
                if (((string)user[2]).Contains("No user"))
                {
                    players.Add(EntityUtility.CreateMessage(Domain, "- - - - -", 0, 0, 20));
                }
                else
                {
                    players.Add(EntityUtility.CreateMessage(Domain, (string)user[2], 0, 0, 20));
                }
            }
            players.Reverse();

            SetPlayerNamesPosition();

            // No host
            if (Connection.LocalPlayer != Connection.Lobby.Owner)
            {
                if (ClientProtocol.IsGameStarted())
                {
                    ChangeState = true;
                }
            }

            // Changes state when condition is true
            if (ChangeState)
            {
                ParentState._context.TransitionTo(new GameState(Game));
            }
        }