Exemplo n.º 1
0
        public async Task <JoinRules> Join(ClaimsPrincipal cl)
        {
            User user = await _userManager.GetUserAsync(cl);

            if (user == null)
            {
                return(JoinRules.NoAuth);
            }

            JoinRules state = CanUserJoin(user);

            switch (state)
            {
            case JoinRules.Ok:
                Information.AddPlayer(user);
                user.Money -= Information.Rate;
                await _userManager.UpdateAsync(user);

                await _gameHub.Clients.Group(Information.Identifier.ToString()).SendAsync("PlayerJoin", user.UserName);

                switch (CanStartGame())
                {
                case StartGameRules.Ok:
                    Start();
                    break;
                }

                break;
            }


            return(state);
        }
Exemplo n.º 2
0
        public int Join(int Identifier = -1)
        {
            Game game = _gamesService.getGame(Identifier);

            if (game == null)
            {
                return(-1);
            }
            JoinRules result = game.Join(HttpContext.User).Result;

            return((int)result);
        }