Ejemplo n.º 1
0
        void OnGameStateChanged(object sender, SimonEventArgs e)
        {
            Task.Run(async() =>
            {
                switch (e.GameState)
                {
                case GameState.Start:
                    break;

                case GameState.NextLevel:
                    await ShowStartAnimation();
                    await ShowNextLevelAnimation(game.Level);
                    await ShowSequenceAnimation(game.Level);
                    break;

                case GameState.GameOver:
                    await ShowGameOverAnimation();
                    game.Reset();
                    break;

                case GameState.Win:
                    await ShowGameWonAnimation();
                    break;
                }
            });
        }
Ejemplo n.º 2
0
        void OnGameStateChanged(object sender, SimonEventArgs e)
        {
            var th = new Thread(() =>
            {
                lock (lockObject)
                {
                    switch (e.GameState)
                    {
                    case GameState.Start:
                        break;

                    case GameState.NextLevel:
                        this.ShowStartAnimation();
                        this.ShowNextLevelAnimation(game.Level);
                        this.ShowSequenceAnimation(game.Level);
                        break;

                    case GameState.GameOver:
                        this.ShowGameOverAnimation();
                        this.game.Reset();
                        break;

                    case GameState.Win:
                        this.ShowGameWonAnimation();
                        break;
                    }
                }
            });

            th.Start();
        }