コード例 #1
0
 public static GameStep AllPlayers(UserPromptId prompt, int numPlayers)
 {
     return(new Dictionary <UserPromptId, int>
     {
         { prompt, numPlayers }
     });
 }
コード例 #2
0
 public static GameStep OneVsAll(UserPromptId onePrompt, int numPlayers, UserPromptId allPrompt = UserPromptId.Waiting)
 {
     return(new Dictionary <UserPromptId, int>
     {
         { onePrompt, 1 },
         { allPrompt, numPlayers - 1 }
     });
 }
コード例 #3
0
ファイル: Prompts.cs プロジェクト: kevinjroyston/ScrawlBrawl
        public static Func <User, UserPrompt> ShowScoreBreakdowns(
            Lobby lobby,
            string promptTitle,
            Score.Scope?userScoreBreakdownScope = null,
            Score.Scope?userScoreScope          = null,
            Score.Scope?leaderboardScope        = null,
            UserPromptId userPromptId           = UserPromptId.RevealScoreBreakdowns,
            bool showPartyLeaderSkipButton      = false)
        {
            return((User user) =>
            {
                List <SubPrompt> subPrompts = new List <SubPrompt>();
                if (userScoreBreakdownScope.HasValue)
                {
                    var scoreBreakdowns = user.ScoreHolder.ScoreBreakdowns[userScoreBreakdownScope.Value];
                    subPrompts.Add(new SubPrompt {
                        Prompt = (scoreBreakdowns.Count == 0) ? Text.NoPointsThisRound:Text.YourPoints, StringList = scoreBreakdowns.Keys.Select((Score.Reason reason) => $"{Score.ReasonDescriptions[reason]}: {scoreBreakdowns[reason]}").ToArray()
                    });
                }

                if (userScoreScope.HasValue)
                {
                    subPrompts.Add(new SubPrompt {
                        StringList = new string[] { Text.YourScore + ": " + user.ScoreHolder.ScoreAggregates[userScoreScope.Value].ToString() }
                    });
                }

                if (leaderboardScope.HasValue)
                {
                    var userScoreList = lobby.GetUsersSortedByTopScores(3, leaderboardScope.Value);
                    subPrompts.Add(new SubPrompt {
                        Prompt = Text.TopScores, StringList = userScoreList.Select((User user) => $"{user.DisplayName}: {user.ScoreHolder.ScoreAggregates[Score.Scope.Total]}").ToArray()
                    });
                }

                if (showPartyLeaderSkipButton)
                {
                    subPrompts.Add(new SubPrompt {
                        Prompt = Text.SkipReveal
                    });
                }

                return new UserPrompt()
                {
                    UserPromptId = userPromptId,
                    Title = promptTitle,  // could access this.Lobby for game specific info
                    SubPrompts = subPrompts.ToArray(),
                    SubmitButtonText = "Continue",
                    SubmitButton = (showPartyLeaderSkipButton)
                };
            });
        }