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)); }
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); }
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()); }
private void ShowDungeonStageTitle(DungeonStage stage) { _poolManager.Take(PoolTags.DungeonTitlePopup.ToString()) .GetComponent <TextPopup>() .Setup(stage.StageName, _dungeonTitlePlacement.position); }