public GameViewController(MainWindow mainWindow, string selectedGame)
            : base(mainWindow)
        {
            _refreshTimer = new Timer {
                Interval = 1000 / 60
            };
            _pacmanAnimationTimer = new Timer {
                Interval = 150
            };
            _obstacleTimer = new Timer {
                Interval = 3000
            };
            _spawnTimer = new Timer {
                Interval = 2500
            };
            _clock             = new Clock();
            _score             = new Score();
            _gameView          = new GameView();
            _gameValues        = new GameValues();
            _playgroundFactory = new PlaygroundFactory();
            _playerFactory     = new PlayerFactory();
            _enemyFactory      = new EnemyFactory();
            _pacmanAnimation   = new PacmanAnimation();
            _enemyAnimation    = new EnemyAnimation();
            _obstacleAnimation = new ObstacleAnimation();
            _step     = new Step();
            _position = new Position(_gameValues);
            _random   = new Random();
            _sound    = new Sound();

            SetContentOfMain(mainWindow, _gameView);

            _selectedGame = selectedGame;
            _gameState    = GameState.Playing;

            SetKeyDownEvents(_gameView.GameCanvas, OnButtonKeyDown);
            SetKeyUpEvents(_gameView.GameCanvas, OnButtonKeyUp);
            _gameView.GameCanvas.Loaded   += OnGameCanvasLoaded;
            MainWindow.Closing            += OnMainWindowClosing;
            _refreshTimer.Elapsed         += RefreshGameCanvas;
            _pacmanAnimationTimer.Elapsed += OnPacmanAnimationTimerElapsed;
            _obstacleTimer.Elapsed        += OnObstacleTimerElapsed;
            _spawnTimer.Elapsed           += OnspawnTimerElapsed;
            _clock.PlaytimeIsOver         += OnPlaytimeIsOver;
            _clock.PlaytimeIsOver         += _sound.OnPlaytimeIsOver;

            _position.CollisionDetecter.CoinCollision     += OnCoinCollision;
            _position.CollisionDetecter.CoinCollision     += _sound.OnCoinCollision;
            _position.CollisionDetecter.EndpointCollision += OnEndpointCollision;
            _position.CollisionDetecter.EndpointCollision += _sound.OnEndpointCollision;
            _position.CollisionDetecter.EnemyCollision    += OnOnEnemyCollision;
            _position.CollisionDetecter.EnemyCollision    += _sound.OnOnEnemyCollision;
            _position.CollisionDetecter.ObstacleCollision += OnObstacleCollision;
            _position.CollisionDetecter.ObstacleCollision += _sound.OnObstacleCollision;

            _pacmanAnimation.LoadPacmanImages();
            _enemyAnimation.LoadPacmanImages();
            _obstacleAnimation.LoadObstacleImages();
        }
Exemple #2
0
    public void SetAnimation(PacmanAnimation pacmanAnimation)
    {
        if (pacmanAnimation.Equals(_currentPacmanAnimation))
        {
            return;
        }

        _animator.SetTrigger(pacmanAnimation.ToString());
        _currentPacmanAnimation = pacmanAnimation;
    }