示例#1
0
        // circular: night -> visions -> day -> night

        public async Task StartGame()
        {
            await ChargeCostOfEntry();

            RemoveMonitors();
            await Task.WhenAll(ActiveGame.Players.Select(p =>
            {
                return(p.User.SendMessageAsync(GameElement.InitialRoleReveal(p.Role)));
            }));

            await DayChannel.SendMessageAsync(GameElement.PhasePhrase(PhaseType.Night));

            await NightChannel.SendMessageAsync(GameElement.PhaseInstruction(PhaseType.Night));

            await UnlockChannelForUsers(NightChannel, ActiveGame.Informed.Select(p => p.User));
            await LockChannelForUsers(DayChannel, ActiveGame.Players.Select(p => p.User));
        }