private void _onObjectChanged(object sender, BaseGameStateEvent e)
        {
            var gameObject = (BaseGameObject)sender;

            switch (e)
            {
            case GameplayEvents.ObjectLostLife ge:
                if (ge.CurrentLife <= 0)
                {
                    AddExplosion(new Vector2(gameObject.Position.X - 40, gameObject.Position.Y - 40));

                    switch (gameObject)
                    {
                    case ChopperSprite c:
                        _enemyList.DeactivateObject(c);
                        break;

                    case TurretSprite t:
                        _turretList.DeactivateObject(t);
                        break;
                    }

                    RemoveGameObject(gameObject);
                }
                break;
            }
        }
Exemplo n.º 2
0
 public void OnNotify(BaseGameStateEvent gameEvent)
 {
     if (_soundBank.ContainsKey(gameEvent.GetType()))
     {
         var sound = _soundBank[gameEvent.GetType()];
         sound.Sound.Play(sound.Attributes.Volume, sound.Attributes.Pitch, sound.Attributes.Pan);
     }
 }
Exemplo n.º 3
0
 public void OnNotify(BaseGameStateEvent gameEvent)
 {
     if (_soundBank.ContainsKey(gameEvent.GetType()))
     {
         var sound = _soundBank[gameEvent.GetType()];
         sound.Play();
     }
 }
Exemplo n.º 4
0
 private void _currentGameState_OnEventNotification(object sender, BaseGameStateEvent e)
 {
     switch (e)
     {
     case BaseGameStateEvent.GameQuit _:
         Exit();
         break;
     }
 }
Exemplo n.º 5
0
 public override void OnNotify(BaseGameStateEvent gameEvent)
 {
     switch (gameEvent)
     {
     case GameplayEvents.ObjectHitBy m:
         JustHit(m.HitBy);
         SendEvent(new GameplayEvents.ObjectLostLife(_life));
         break;
     }
 }
        protected void NotifyEvent(BaseGameStateEvent gameEvent)
        {
            OnEventNotification?.Invoke(this, gameEvent);

            foreach (var gameObject in _gameObjects)
            {
                gameObject.OnNotify(gameEvent);
            }

            _soundManager.OnNotify(gameEvent);
        }
Exemplo n.º 7
0
        private void _chopperSprite_OnObjectChanged(object sender, BaseGameStateEvent e)
        {
            var chopper = (ChopperSprite)sender;

            switch (e)
            {
            case GameplayEvents.EnemyLostLife ge:
                if (ge.CurrentLife <= 0)
                {
                    AddExplosion(new Vector2(chopper.Position.X - 40, chopper.Position.Y - 40));
                    chopper.Destroy();
                }
                break;
            }
        }
 public void SendEvent(BaseGameStateEvent e)
 {
     OnObjectChanged?.Invoke(this, e);
 }
 public virtual void OnNotify(BaseGameStateEvent gameEvent)
 {
 }
Exemplo n.º 10
0
 internal void RegisterSound(BaseGameStateEvent gameEvent, SoundEffect sound,
                             float volume, float pitch, float pan)
 {
     _soundBank.Add(gameEvent.GetType(), new SoundBankItem(sound, new SoundAttributes(volume, pitch, pan)));
 }
Exemplo n.º 11
0
 public void RegisterSound(BaseGameStateEvent gameEvent, SoundEffect sound)
 {
     RegisterSound(gameEvent, sound, 1.0f, 0.0f, 0.0f);
 }
Exemplo n.º 12
0
 public void RegisterSound(BaseGameStateEvent gameEvent, SoundEffect sound)
 {
     _soundBank.Add(gameEvent.GetType(), sound);
 }