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); }
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(); }
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); }
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); }