Exemplo n.º 1
0
 public IObservable<Unit> Execute()
 {
     return InitializeGame()
         .ContinueWith(
             _inputController.OnPlayerStart().First().ContinueWith(ExecuteRound())
             .Repeat()
             .TakeWhile(_ => _gameStateProvider.Current.PlayerLives > 0))
         .DoOnCompleted(() => _letterboardView.ShowText("GAME OVER"))
         .DoOnCompleted(() => _changeSceneView.Show())
         .DoOnCompleted(() => _inputController.Disable())
         .Catch<Unit, Exception>(LogException)
         .DoOnError(e => UnityEngine.Debug.LogError(e.ToString()));
 }