コード例 #1
0
ファイル: GameHub.cs プロジェクト: fitzmill/online-avalon
        public async Task StartGame(GameOptionsDTO gameOptions)
        {
            var info = _gameEngine.StartGame(PublicGameId, gameOptions.OptionalRoles);

            foreach (string username in info.Keys)
            {
                await Clients.User(CustomUserIdProvider.GetUserId(username, PublicGameId)).StartGame(info[username]);
            }
        }
コード例 #2
0
ファイル: GameHub.cs プロジェクト: fitzmill/online-avalon
        public async Task SendEndQuestInfo()
        {
            if (_gameEngine.TryEvilWins(GameId, out Game gameSummary))
            {
                await Clients.Group(PublicGameId).EndGameAndReceiveSummary(gameSummary);
            }
            else if (_gameEngine.TryMoveToLakeStage(GameId, out string usernameWithLake, out IEnumerable <string> usernamesToLake))
            {
                await Clients.User(CustomUserIdProvider.GetUserId(usernameWithLake, PublicGameId)).ReceiveUsernamesToLake(usernamesToLake);

                await Clients.Group(PublicGameId).MoveToLakeStage(usernameWithLake);
            }