void Awake()
        {
            if (!_dDrawer || !_dFactory)
            {
                _dDrawer = GetComponent<DungeonDrawer>();
                _dFactory = GetComponent<DungeonFactory>();
            }
            _dFactory.onGenerationEnd.AddListener((dungeon) =>
            {
                GameManager.Instance.ClearedDungeons++;
                _currentDungeon = dungeon;

                dungeon.OnGoalCleared.AddListener(() =>
                {
                    if (dungeon.RemainingGoals <= 0)
                    {
                        Exit e = FindObjectOfType<Exit>();
                        e.Unlock();
                    }
                });
            });
        }
 void Awake()
 {
     if (!drawer)
         drawer = FindObjectOfType<DungeonDrawer>();
 }