Ejemplo n.º 1
0
        public void OnEvent(Event evt)
        {
            switch (evt.Type)
            {
            case AudioEvent.PLAY_SOUND: {
                AudioEvent audioEvent = (AudioEvent)evt;
                audioPlayer.PlayEvent(audioEvent.ToString(), audioEvent.Volume);
                break;
            }

            case AudioEvent.STOP_SOUND:
            {
                AudioEvent audioEvent = (AudioEvent)evt;
                audioPlayer.StopEvent(audioEvent.ToString());
                break;
            }

            case AudioEvent.PAUSE_SOUND:
            {
                AudioEvent audioEvent = (AudioEvent)evt;
                audioPlayer.PauseEvent(audioEvent.ToString());
                break;
            }

            case NewEntityEvent.NEW_ENTITY: {
                NewEntityEvent newEntityEvent = (NewEntityEvent)evt;
                Entity         entity         = Game.World.Entities[newEntityEvent.EntityID];
                if (entity.Type == "player")
                {
                    OnAttach(entity);

                    int lifes = playerEntity[HealthBehavior.Key_Lifes];
                    hud.Reset(lifes);
                }
                break;
            }

            case DestroyEntityEvent.DESTROY_ENTITY: {
                DestroyEntityEvent destroyEntityEvent = (DestroyEntityEvent)evt;
                Entity             entity             = Game.World.Entities[destroyEntityEvent.EntityID];
                if (entity.Type == "player")
                {
                    OnDetach();
                }
                break;
            }

            case GameStateChangedEvent.GAME_STATE_CHANGED: {
                GameStateChangedEvent stateChangedEvent = (GameStateChangedEvent)evt;
                onGameStateChanged(stateChangedEvent.NewState);
                break;
            }
            }
        }