Ejemplo n.º 1
0
        private void OnDestroy()
        {
            if (_instance == this)
            {
                _instance = null;

                EventManager.Instance.RemoveListener <OnDungeonLeft>(StartFightMusic);
                EventManager.Instance.RemoveListener <OnPortalEntered>(StartDungeonMusic);
                EventManager.Instance.RemoveListener <OnMenuOpened>(StartMenuMusic);
                EventManager.Instance.RemoveListener <OnMenuClosed>(ResumeMusicAfterMenuClosed);
                EventManager.Instance.RemoveListener <OnGameLoaded>(StartDungeonMusic);
            }
        }
Ejemplo n.º 2
0
        private void Awake()
        {
            if (_instance == null)
            {
                _instance = this;
                DontDestroyOnLoad(gameObject);
                musicSpeaker = GetComponent <AudioSource>();

                EventManager.Instance.AddListener <OnDungeonLeft>(StartFightMusic);
                EventManager.Instance.AddListener <OnPortalEntered>(StartDungeonMusic);
                EventManager.Instance.AddListener <OnMenuOpened>(StartMenuMusic);
                EventManager.Instance.AddListener <OnMenuClosed>(ResumeMusicAfterMenuClosed);
                EventManager.Instance.AddListener <OnGameLoaded>(StartDungeonMusic);
                EventManager.Instance.AddListener <OnLevelCompleted>(StopMusic);
            }
            else
            {
                Destroy(gameObject);//Prevent object duplicates when switching scenes
            }
        }