public void Init(ScoreReport.ScoreReportData scoreReportData, List <Pawn> acquiredPawns, string stageName) { this.scoreReportData = scoreReportData; this.acquiredPawns = acquiredPawns; stageNameText.text = stageName; InitScoreReportView(); }
private IEnumerator GameOverUIRoutine(ScoreReport.ScoreReportData data) { yield return(new WaitForSeconds(1f)); gameUI.SetActive(false); gameOverUI.SetActive(true); scorePanel.moneyText.text.text = data.money.ToString(); scorePanel.moneyEarned.text.text = data.moneyEarned.ToString(); scorePanel.soulsText.text.text = data.souls.ToString(); scorePanel.soulsEarned.text.text = data.soulsEarned.ToString(); yield return(new WaitForSeconds(0.5f)); scorePanel.ReportScore(data); }
private void UpdateData() { ScoreReport.ScoreReportData data = new ScoreReport.ScoreReportData( enemiesDefeated: enemyManager.enemiesKilled, wavesSurvived: Mathf.Max(enemyManager.waveNumber - 1, 0), maxCombo: player.hero.maxCombo, money: gm.wallet.money, moneyEarned: moneyEarned, souls: gm.wallet.souls, soulsEarned: soulsEarned ); gui.gameOverUI.SetActive(true); losePanel.Init(data, acquiredPawns, gm.GetStage(gm.selectedSeriesIndex, gm.selectedStageIndex).stageName); if (enemyManager.isStageComplete) { if (OnStageCompleted != null) { OnStageCompleted(); } if (IsPlayerOnLatestStage()) { gm.UnlockNextStage(); } } gm.saveGame.pawnWallet.RemovePawn(gm.selectedPawn.id); foreach (Pawn pawn in acquiredPawns) { gm.saveGame.pawnWallet.AddPawn(pawn); } int enemiesDefeated = enemyManager.enemiesKilled; int wavesSurvived = enemyManager.waveNumber; int maxCombo = player.hero.maxCombo; gm.wallet.AddMoney(moneyEarned); gm.wallet.AddSouls(soulsEarned); gm.UpdateScores(enemiesDefeated, wavesSurvived, maxCombo); }
public void GameOverUI(ScoreReport.ScoreReportData data) { StartCoroutine(GameOverUIRoutine(data)); }