Esempio n. 1
0
        public JoinGameResult AttemptToJoinHeist(string displayName, out HeistRoles role)
        {
            bool success;

            (success, role) = MyRandom.ChooseRandomItem(GetAvailableRoles());
            if (!success)
            {
                return(HeistJoinResults.HeistFullResult(displayName));
            }

            return(AttemptToJoinHeist(displayName, role));
        }
Esempio n. 2
0
        public JoinGameResult AttemptToJoinHeist(string displayName, HeistRoles role)
        {
            if (_heistMembers.ContainsValue(displayName))
            {
                return(HeistJoinResults.AlreadyInHeistResult(displayName));
            }

            if (_heistMembers.ContainsKey(role))
            {
                return(HeistJoinResults.RoleTakenResult(displayName, role));
            }

            _heistMembers.Add(role, displayName);

            return(HeistJoinResults.SuccessJoinResult(displayName, role));
        }
Esempio n. 3
0
 public static JoinGameResult RoleTakenResult(string displayName, HeistRoles role)
 => new JoinGameResult(false, $"Sorry, {displayName} we already have a {role}!");
Esempio n. 4
0
 public static JoinGameResult SuccessJoinResult(string displayName, HeistRoles role)
 => new JoinGameResult(true, $"{displayName} joined the heist as the {role}!");
Esempio n. 5
0
        private void JoinHeistByRole(IChatClient chatClient, ChatUser chatUser, HeistRoles role)
        {
            JoinGameResult attemptToJoinHeist = _heistGame.AttemptToJoinHeist(chatUser.DisplayName, role);

            chatClient.SendMessage(attemptToJoinHeist.Message);
        }