Exemplo n.º 1
0
    private IEnumerator LoadDungeonRoutine()
    {
        yield return(ToggleLoadingScreenRoutine(true));

        yield return(AsyncLoadRoutine(SceneType.Dungeon));

        if (_selectedStages.Count > 0)
        {
            _currentStage = _selectedStages.Dequeue();
            yield return(_stageGenerator.LoadDungeonStage(_currentStage));

            SpawnPlayer(Vector3.zero);
            ShowDungeonStageTitle(_currentStage);
            PlayStageTheme();
        }
        else
        {
            SaveSystem.DeleteSaveFile();
            yield return(AsyncLoadRoutine(SceneType.Credits));

            _musicManager.PlayMusic("Credits");
        }

        yield return(ToggleLoadingScreenRoutine(false));
    }
Exemplo n.º 2
0
    public int GetCalculatedMath(int BaseSuffixValue, int ItemLevel)
    {
        //Value* round((Itemlevel+Stage)/ 2)) *rand[0.8, 1.2]
        //
        DungeonStage dungeonStage = new DungeonStage();
        int          DungeonLevel = dungeonStage.StageLevel;
        float        RND          = Random.Range((float)0.8, (float)1.1);
        float        b            = (float)(BaseSuffixValue * ((ItemLevel + DungeonLevel) / 2)) * RND;

        return((int)b);
    }
Exemplo n.º 3
0
    private void ClearTemporaryData()
    {
        Room.LoadedRooms.Clear();
        EnemyCharacter.ActiveEnemies.Clear();
        _currentStage = null;

        if (_poolManager != null)
        {
            _poolManager.ClearPools();
        }
    }
    public List <Vector2Int> RequestRoute(DungeonStage stage)
    {
        _selectedRoute = new List <Vector2Int>
        {
            Vector2Int.zero
        };

        CreateRoute(stage.RandomRouteLength, stage.RouteSpawnerCount);

        return(_selectedRoute);
    }
    public IEnumerator LoadDungeonStage(DungeonStage stage)
    {
        _selectedRoute = _routeController.RequestRoute(stage);

        SpawnRoom(stage.StartRoomPrefab, _selectedRoute[0], true);
        SpawnRoom(stage.BossRoomPrefab, _routeController.RandomBossPosition, true);

        for (int i = 0; i < _selectedRoute.Count; i++)
        {
            SpawnRoom(stage.RandomOptionalRoomPrefab, _selectedRoute[i]);
            yield return(null);
        }

        Instantiate(stage.GlobalLightPrefab, Vector3.zero, Quaternion.identity);
        yield return(null);

        Room.LoadedRooms.ForEach(room => room.PrepareRoom());
    }
Exemplo n.º 6
0
 private void ShowDungeonStageTitle(DungeonStage stage)
 {
     _poolManager.Take(PoolTags.DungeonTitlePopup.ToString())
     .GetComponent <TextPopup>()
     .Setup(stage.StageName, _dungeonTitlePlacement.position);
 }