From d5b0b6246c27ea05c1944fadefb9c95eb21e17f3 Mon Sep 17 00:00:00 2001 From: Malik Rafsanjani <pro.malikakbar2357@gmail.com> Date: Sat, 15 Apr 2023 12:26:22 +0700 Subject: [PATCH] feat: add reward currency after complete quest --- Assets/Scripts/Quest/Temple/QuestConfig.cs | 8 ++++---- Assets/Scripts/Quest/Temple/QuestNumberEnemy.cs | 6 ++++-- Assets/Scripts/Quest/Temple/Temple.cs | 3 ++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/Quest/Temple/QuestConfig.cs b/Assets/Scripts/Quest/Temple/QuestConfig.cs index 78a14ab..5b55573 100644 --- a/Assets/Scripts/Quest/Temple/QuestConfig.cs +++ b/Assets/Scripts/Quest/Temple/QuestConfig.cs @@ -11,19 +11,19 @@ public class QuestConfig { return type switch { - QuestType.FirstQuest => new QuestNumberEnemy() + QuestType.FirstQuest => new QuestNumberEnemy(100) .Add(EnemyType.Zombunny, 1) .Add(EnemyType.ZomBear, 1) .Add(EnemyType.Hellephant, 1), - QuestType.SecondQuest => new QuestNumberEnemy() + QuestType.SecondQuest => new QuestNumberEnemy(200) .Add(EnemyType.Zombunny, 10) .Add(EnemyType.ZomBear, 5) .Add(EnemyType.Hellephant, 3), - QuestType.ThirdQuest => new QuestNumberEnemy() + QuestType.ThirdQuest => new QuestNumberEnemy(300) .Add(EnemyType.Zombunny, 10) .Add(EnemyType.ZomBear, 10) .Add(EnemyType.Hellephant, 5), - QuestType.FinalQuest => new QuestNumberEnemy() + QuestType.FinalQuest => new QuestNumberEnemy(400) .Add(EnemyType.Zombunny, 10) .Add(EnemyType.ZomBear, 10) .Add(EnemyType.Hellephant, 5) diff --git a/Assets/Scripts/Quest/Temple/QuestNumberEnemy.cs b/Assets/Scripts/Quest/Temple/QuestNumberEnemy.cs index 637d50f..86e1274 100644 --- a/Assets/Scripts/Quest/Temple/QuestNumberEnemy.cs +++ b/Assets/Scripts/Quest/Temple/QuestNumberEnemy.cs @@ -9,9 +9,11 @@ using UnityEngine; public class QuestNumberEnemy { private readonly Dictionary<EnemyType, int> numEnemies; + public int Reward { get; private set; } - public QuestNumberEnemy() + public QuestNumberEnemy(int reward) { + Reward = reward; numEnemies = new Dictionary<EnemyType, int>(); var types = Enum.GetValues(typeof(EnemyType)).Cast<EnemyType>(); foreach (var type in types) @@ -56,7 +58,7 @@ public class QuestNumberEnemy public QuestNumberEnemy Clone() { - QuestNumberEnemy clone = new QuestNumberEnemy(); + QuestNumberEnemy clone = new QuestNumberEnemy(this.Reward); foreach (var enemyType in numEnemies.Keys) { clone.numEnemies[enemyType] = numEnemies[enemyType]; diff --git a/Assets/Scripts/Quest/Temple/Temple.cs b/Assets/Scripts/Quest/Temple/Temple.cs index d03b0e3..51d4d0c 100644 --- a/Assets/Scripts/Quest/Temple/Temple.cs +++ b/Assets/Scripts/Quest/Temple/Temple.cs @@ -69,6 +69,7 @@ public class Temple : MonoBehaviour private void ExitingQuest() { + GameControl.control.addCurrency(questNumberEnemy.Reward); timer.StopTimer(); onQuest = false; questNumberEnemy = null; @@ -82,7 +83,7 @@ public class Temple : MonoBehaviour } idxCurrentQuest++; - ToastManager.Instance.ShowToast("Quest " + idxCurrentQuest + " is Completed!", 1); + ToastManager.Instance.ShowToast("Quest " + idxCurrentQuest + " is Completed! You got additional coins: " + questNumberEnemy.Reward, 1); // retrieve the time // add it to the global time -- GitLab