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