Beispiel #1
0
        public void SetUp()
        {
            _keyboard     = new GameObject();
            _keyboardView = _keyboard.AddComponent <KeyboardView>();
            const int numberOfKeys = 2;

            _keyboardView.Buttons = new Button[numberOfKeys];
            for (var i = 0; i < _keyboardView.Buttons.Length; i++)
            {
                var button = new GameObject();
                var text   = new GameObject();
                button.transform.SetParent(_keyboard.transform);
                text.transform.SetParent(button.transform);
                text.AddComponent <Text>().text = ('a' + i).ToString();
                _keyboardView.Buttons[i]        = button.AddComponent <Button>();
                _keyboardView.Buttons[i].image  = button.AddComponent <Image>();


                Assert.AreNotEqual(InGameViewModel.CorrectColor,
                                   ColorUtility.ToHtmlStringRGB(_keyboardView.Buttons[i].image.color));
                Assert.IsTrue(_keyboardView.Buttons[i].interactable);
            }


            _inGameViewModel = new InGameViewModel();
            _keyboardView.SetModel(_inGameViewModel);
        }
Beispiel #2
0
 public InGamePresenter(InGameViewModel viewModel, IEventDispatcherService eventDispatcherService)
 {
     _viewModel = viewModel;
     _eventDispatcherService = eventDispatcherService;
     _eventDispatcherService.Subscribe <NewWordSignal>(NewWord);
     _eventDispatcherService.Subscribe <GuessResultSignal>(GuessReceived);
     _eventDispatcherService.Subscribe <WordCompletedSignal>(WordCompleted);
     _eventDispatcherService.Subscribe <RestartGameSignal>(RestartGame);
     _eventDispatcherService.Subscribe <GameOverSignal>(GameOver);
 }
        public void WhenReceiveCommandOnKeyPressedPressed_CallToGuessLetter()
        {
            var keyboardViewModel  = new InGameViewModel();
            var guessLetter        = Substitute.For <IGuessLetter>();
            var keyboardController = new KeyboardController(keyboardViewModel, guessLetter);

            keyboardViewModel.OnKeyPressedPressed.Execute("A");

            guessLetter.Received().Guess('A');
        }
        public void WhenReceiveCommandOnRestartGamePressed_CallToRestart()
        {
            var inGameViewModel = new InGameViewModel();
            var restartGame     = Substitute.For <IRestartGame>();

            var startGameController = new RestartGameController(inGameViewModel, restartGame);

            inGameViewModel.OnRestartGamePressed.Execute();

            restartGame.Received().Restart();
        }
Beispiel #5
0
        public void SetUp()
        {
            _inGameViewModel = Substitute.For <InGameViewModel>();
            _inGameViewModel.SubscribeGallowImage();
            _colorObserver        = Substitute.For <IObserver <string> >();
            _isKetEnabledObserver = Substitute.For <IObserver <bool> >();
            _letterToGuess        = "d";
            _keyButtonViewModel   = _inGameViewModel.SubscribeKeyButton(_letterToGuess);
            _keyButtonViewModel.Color.Subscribe(_colorObserver);
            _keyButtonViewModel.IsEnabled.Subscribe(_isKetEnabledObserver);


            _eventDispatcherService = Substitute.For <IEventDispatcherService>();
        }
        public InGameView()
        {
            this.viewModel   = new InGameViewModel();
            this.DataContext = viewModel;

            this.InitializeComponent();

            this.random = new Random();

            this.dispatcherTimer          = new DispatcherTimer();
            this.dispatcherTimer.Tick    += new EventHandler <object>(this.dispatcherTimer_Tick);
            this.dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
            this.dispatcherTimer.Start();
        }
        public async Task <IActionResult> Play()
        {
            ApplicationUser user = await GetCurrentUserAsync();

            var gameView = new InGameViewModel();

            gameView.ApplicationUser = user;

            gameView.Score = user.Score;

            var allUsers = _context.Users.ToList();

            gameView.HighScore = allUsers.Max(u => u.Score);

            //pass in the current user
            return(View(gameView));
        }
        public void SetUp()
        {
            _inGameViewModel = new InGameViewModel();
            _gallow          = new GameObject();
            _gallowView      = _gallow.AddComponent <GallowView>();
            const int numberOfImages = 10;

            _gallowView.Images = new Image[numberOfImages];
            for (var i = 0; i < _gallowView.Images.Length; i++)
            {
                var image = new GameObject();
                image.transform.SetParent(_gallow.transform);
                _gallowView.Images[i] = image.AddComponent <Image>();
            }

            _gallowView.SetModel(_inGameViewModel);
        }
Beispiel #9
0
 public void SetUp()
 {
     _inGameGameObject           = new GameObject();
     _inGameView                 = _inGameGameObject.AddComponent <InGameView>();
     _endGameGameObject          = new GameObject();
     _inGameView.EndGameImage    = _endGameGameObject;
     _inGameView.CurrentWordText = _inGameGameObject.AddComponent <Text>();
     _victoryImageGameObject     = new GameObject();
     _victoryImageGameObject.transform.SetParent(_endGameGameObject.transform);
     _inGameView.VictoryImage = _victoryImageGameObject.AddComponent <Image>();
     _gameOverImageGameObject = new GameObject();
     _gameOverImageGameObject.transform.SetParent(_endGameGameObject.transform);
     _inGameView.GameOverImage     = _gameOverImageGameObject.AddComponent <Image>();
     _restartGameGameObject        = new GameObject();
     _inGameView.RestartGameButton = _restartGameGameObject.AddComponent <Button>();
     _inGameViewModel = new InGameViewModel();
     _inGameView.SetModel(_inGameViewModel);
 }
        private void Start()
        {
            var mainMenuViewModel = new MainMenuViewModel();
            var inGameViewModel   = new InGameViewModel();
            var loadingViewModel  = new LoadingViewModel();

            InstantiateViews(mainMenuViewModel, inGameViewModel, loadingViewModel);

            // TODO: these services should be unique, instantiate it in a previous step
            var gameRepository    = new GameRepository();
            var gameServerService = new GameServerService
                                    (
                new RestRestClientAdapter(new JsonUtilityAdapter()),
                gameRepository
                                    );
            var eventDispatcherService = new EventDispatcherService();
            var startGameUseCase       =
                new StartGameUseCase(gameServerService, gameRepository, new ConfigurationGameRepository(),
                                     eventDispatcherService);
            var startGameController = new StartGameController(mainMenuViewModel,
                                                              startGameUseCase
                                                              );
            var keyboardController = new KeyboardController(inGameViewModel,
                                                            new GuessLetterUseCase(
                                                                new CheckSolutionUseCase(
                                                                    gameServerService,
                                                                    gameRepository,
                                                                    eventDispatcherService
                                                                    ),
                                                                gameRepository,
                                                                gameServerService,
                                                                eventDispatcherService
                                                                )
                                                            );
            var restartGameController =
                new RestartGameController(inGameViewModel,
                                          new RestartGameUseCase(startGameUseCase, eventDispatcherService));

            var updateWordPresenter = new InGamePresenter(inGameViewModel, eventDispatcherService);
            var mainMenuPresenter   = new MainMenuPresenter(mainMenuViewModel, eventDispatcherService);
            var loadingPresenter    = new LoadingPresenter(loadingViewModel, eventDispatcherService);
        }
        private void InstantiateViews(
            MainMenuViewModel mainMenuViewModel,
            InGameViewModel inGameViewModel,
            LoadingViewModel loadingViewModel
            )
        {
            var mainMenuViewInstance = Instantiate(_mainMenuViewPrefab); // TODO: extract to a service

            mainMenuViewInstance.SetModel(mainMenuViewModel);

            var inGameViewInstance = Instantiate(_inGameViewPrefab); // TODO: extract to a service

            inGameViewInstance.SetModel(inGameViewModel);
            inGameViewInstance
            .GetComponentInChildren <KeyboardView>()
            .SetModel(inGameViewModel);     // TODO: consider move this responsability to the parent view
            inGameViewInstance
            .GetComponentInChildren <GallowView>()
            .SetModel(inGameViewModel);                                // TODO: consider move this responsability to the parent view

            var loadingViewInstance = Instantiate(_loadingViewPrefab); // TODO: extract to a service

            loadingViewInstance.SetModel(loadingViewModel);
        }