Example #1
0
        public bool JoinToGame(GameClient game, User user, State state)
        {
            GameLogic.Game_Client.GameClient client;
            UserManagement.User userToJoin         = _user.GetUserFromUserList(user.UserName);
            Collection <UserManagement.User> users = new Collection <UserManagement.User>();
            bool val = false;

            foreach (KeyValuePair <string, User> entry in game.Players)
            {
                User tmp = entry.Value;
                UserManagement.User U = new UserManagement.User(tmp.UserName, tmp.Password, 0);
                U.Set_email(tmp.Email.Address);
                U.ChangePlayerState(PlayerState.Player);
                U.SetMoney(100);
                users.Add(U);
            }

            client = new GameLogic.Game_Client.GameClient(users, GameType.Limit, 0, game.AmountOfPlayers, 4, game.AmountOfPlayers, true, new GameLogic.Chip(20));
            int before = client.GetPlayers().Count;

            if (state == State.Player)
            {
                try
                {
                    _game.JoinGameAsPlayer(userToJoin, client);
                    if (client.GetPlayers().Count == before + 1)
                    {
                        val = true;
                    }
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            else if (state == State.Spectator)
            {
                try
                {
                    _game.JoinGameAsSpectator(userToJoin, client);
                    val = true;
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            return(val);
        }