Exemple #1
0
 public LoadGameMessageHandler(IGameRetrieverService gameStore, IGameProcessor gameProcessor, ITextParsing textParsing, IGameSaveService gameSaveService)
 {
     _gameStore       = gameStore;
     _gameProcessor   = gameProcessor;
     _textParsing     = textParsing;
     _gameSaveService = gameSaveService;
 }
Exemple #2
0
 public GameControllerTests()
 {
     _mockLogger      = new Mock <ILogger <GameController> >();
     _gameProcessor   = new GameProcessor(new Mock <ILogger <GameProcessor> >().Object);
     _gameModeBuilder = new GameModelBuilder();
     _gameController  = new GameController(_mockLogger.Object, _gameModeBuilder, _gameProcessor);
 }
            public WebSocketConnection(
                ILogger logger,
                IRavenBotApiClient ravenBotApi,
                IIntegrityChecker integrityChecker,
                IPlayerInventoryProvider inventoryProvider,
                IGameData gameData,
                IGameManager gameManager,
                IGamePacketManager packetManager,
                IGamePacketSerializer packetSerializer,
                ISessionManager sessionManager,
                IExtensionWebSocketConnectionProvider extWsProvider,
                GameWebSocketConnectionProvider sessionProvider,
                WebSocket ws,
                SessionToken sessionToken)
            {
                this.receiveLoop      = new Thread(ReceiveLoop);
                this.sendLoop         = new Thread(SendLoop);
                this.gameLoop         = new Thread(GameUpdateLoop);
                this.logger           = logger;
                this.sessionToken     = sessionToken;
                this.packetManager    = packetManager;
                this.packetSerializer = packetSerializer;
                this.sessionManager   = sessionManager;
                this.sessionProvider  = sessionProvider;
                this.ws = ws;

                this.killTask      = new TaskCompletionSource <object>();
                this.gameProcessor = new GameProcessor(
                    ravenBotApi, integrityChecker, this, extWsProvider, sessionManager, inventoryProvider, gameData, gameManager, sessionToken);
            }
Exemple #4
0
        public GameController(IBalanceRepository balanceRepository, IGameProcessor gameProcessor)
        {
            Validated.NotNull(balanceRepository, nameof(balanceRepository));
            Validated.NotNull(gameProcessor, nameof(gameProcessor));

            this.balanceRepository = balanceRepository;
            this.gameProcessor     = gameProcessor;
        }
Exemple #5
0
 public GameController(ILogger <GameController> logger,
                       IModelBuilder <GameModel, PlayRequest> modelBuilder,
                       IGameProcessor gameProcessor
                       )
 {
     _logger          = logger;
     _gameProcessor   = gameProcessor;
     _gameModeBuilder = modelBuilder;
 }
Exemple #6
0
 public MenuMessageHandler(IGameRetrieverService gameStore, IGameProcessor gameProcessor, ITextParsing textParsing, IGameSaveService gameSaveService,
                           IConfigurationService configService, IReporter reporter)
 {
     _mainMenuMessageHandler = new MainMenuMessageHandler(gameStore, gameProcessor, textParsing);
     _gameStore       = gameStore;
     _textParsing     = textParsing;
     _gameProcessor   = gameProcessor;
     _gameSaveService = gameSaveService;
     _configService   = configService;
     _reporter        = reporter;
 }
 private bool TryGetValue(string gameId, out IGameProcessor gameProcessor)
 {
     _RunningGameSemaphore.Wait();
     try
     {
         return(_RunningGames.TryGetValue(gameId, out gameProcessor));
     }
     finally
     {
         _RunningGameSemaphore.Release();
     }
 }
        private async Task AddGameAsync(string gameId, IGameProcessor gameProcessor)
        {
            await _RunningGameSemaphore.WaitAsync();

            try
            {
                _RunningGames.Add(gameId, gameProcessor);
            }
            finally
            {
                _RunningGameSemaphore.Release();
            }
        }
        public BaseSceneGame(int id, IGameProcessor processor)
        {
            _id = id;

            _processor = processor;

            _userList = new GamePlayer[_processor.MaxPlayerCount];

            _openState = new bool[_processor.MaxPlayerCount];

            _locker = new ReaderWriterLock();

            _count = 0;

            _gameState = eGameState.FREE;

            _roomType = eRoomType.FREE;

            Revert();
        }
Exemple #10
0
        public BaseSceneGame(int id, IGameProcessor processor)
        {
            _id = id;

            _processor = processor;

            _userList = new GamePlayer[_processor.MaxPlayerCount];

            _openState = new bool[_processor.MaxPlayerCount];

            _locker = new ReaderWriterLock();

            _count = 0;

            _gameState = eGameState.FREE;

            _roomType = eRoomType.FREE;

            Revert();
        }
            public WebSocketConnection(
                ILogger logger,
                IIntegrityChecker integrityChecker,
                IGameData gameData,
                IGameManager gameManager,
                IGamePacketManager packetManager,
                IGamePacketSerializer packetSerializer,
                WebSocketConnectionProvider sessionProvider,
                WebSocket ws,
                SessionToken sessionToken)
            {
                this.receiveLoop      = new Thread(ReceiveLoop);
                this.gameLoop         = new Thread(GameUpdateLoop);
                this.logger           = logger;
                this.sessionToken     = sessionToken;
                this.packetManager    = packetManager;
                this.packetSerializer = packetSerializer;
                this.sessionProvider  = sessionProvider;
                this.ws = ws;

                this.killTask      = new TaskCompletionSource <object>();
                this.gameProcessor = new GameProcessor(integrityChecker, this, gameData, gameManager, sessionToken);
            }
        //private static void DisplayTeams(
        //    List<AddTeamEvent> teams)
        //{
        //    foreach (var team in teams)
        //    {
        //        var theTeam = new Team(team);
        //        Console.WriteLine(theTeam);
        //    }
        //}

        public void ProcessLeagueSchedule(
            string league,
            IGameProcessor processor)
        {
            foreach (var item in LeagueSchedule[league])
            {
                var games = item.Value;
                //Console.WriteLine($"Round {item.Key} has {games.Count} games")
                var i         = 0;
                var lastRound = 0;
                foreach (var g in games)
                {
                    if (g.Round != lastRound)
                    {
                        lastRound = g.Round;
                        i         = 0;
                    }
                    i++;

                    processor.ProcessGame(g, i);
                }
            }
        }
        public static ExecutionResult LaunchGameForPlayer(DrawGame game, PlayerGameSave save, Player player, IGameProcessor gameProcessor)
        {
            player.ActiveGameSave = new PlayerGameSave
            {
                GameName = game.GameName,
                StateId  = game.StartState.Id,
            };

            var messages = gameProcessor.RecursivelyHandleStates(game.StartState, player.ActiveGameSave, player, game, true);

            messages.Messages.Reverse();

            player.ActiveGameSave = new PlayerGameSave
            {
                GameName = game.GameName,
                StateId  = messages.EndingState.Id,
            };

            player.PlayerFlag = PlayerFlag.IN_GAME.ToString();
            var execResult = new ExecutionResult {
                MessagesToShow = messages.Item1, OptionsToShow = gameProcessor.GetCurrentOptions(player.ActiveGameSave, game)
            };

            return(execResult);
        }
 public GameMessageHandler(IGameRetrieverService gameStore, IGameProcessor gameProcessor)
 {
     _gameStore     = gameStore;
     _gameProcessor = gameProcessor;
 }
 public MainMenuMessageHandler(IGameRetrieverService gameStore, IGameProcessor gameProcessor, ITextParsing textParsing)
 {
     _gameStore     = gameStore;
     _gameProcessor = gameProcessor;
     _textParsing   = textParsing;
 }
 public DrawGameTestExecutor(IGameProcessor gameProcessor)
 {
     _gameProcessor = gameProcessor;
 }
Exemple #17
0
 public static void RegisterProcessor(int code, IGameProcessor processor)
 {
     _gameProcessors[code] = processor;
 }
 public GameProcessorTests()
 {
     _mockLogger    = new Mock <ILogger <GameProcessor> >();
     _gameProcessor = new GameProcessor(new Mock <ILogger <GameProcessor> >().Object);
 }
Exemple #19
0
 public GameManager(IPlayersManager playersManager, IGameProcessor gameProcessor)
 {
     _playersManager = playersManager;
     _gameProcessor  = gameProcessor;
 }
Exemple #20
0
 public static void RegisterProcessor(int code, IGameProcessor processor)
 {
     _gameProcessors[code] = processor;
 }
 public DrawGameTestExecutor(IGameProcessor gameProcessor, ISpellChecker spellChecker)
 {
     _gameProcessor = gameProcessor;
     _spellChecker  = spellChecker;
 }
        public static ExecutionResult ReturnToGame(Player player, IGameRetrieverService _gameStoreService, ITextParsing textParsing, IGameProcessor gameProcessor)
        {
            player.PlayerFlag = PlayerFlag.IN_GAME.ToString();
            var games       = _gameStoreService.ListGames();
            var playerState = player.ActiveGameSave;
            var gameFound   = games.Where(a => a.GameName == playerState.GameName).FirstOrDefault();
            var state       = gameFound.FindStateById(playerState.StateId);
            var execResult  = new ExecutionResult
            {
                MessagesToShow = new List <MessageResult> {
                    new MessageResult {
                        Message = textParsing.ParseText(playerState, state.StateText)
                    }
                },
                OptionsToShow = gameProcessor.GetCurrentOptions(playerState, gameFound, state)
            };

            execResult.OptionsToShow.Add("-Menu-");
            return(execResult);
        }