From 53faf63bf63485ae84033ddf69ca282f69e8b7f2 Mon Sep 17 00:00:00 2001
From: daniel egiant <13521056@std.stei.itb.ac.id>
Date: Thu, 9 May 2024 18:35:27 +0700
Subject: [PATCH] feat: integrate shop with quest

---
 Assets/Scripts/Managers/QuestManager.cs | 11 +++++++++++
 Assets/ShopManager.cs                   |  8 +++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Assets/Scripts/Managers/QuestManager.cs b/Assets/Scripts/Managers/QuestManager.cs
index a9b7b09..d6b4b7c 100644
--- a/Assets/Scripts/Managers/QuestManager.cs
+++ b/Assets/Scripts/Managers/QuestManager.cs
@@ -20,11 +20,14 @@ public class QuestManager : MonoBehaviour
     [SerializeField] Text questText;
     [SerializeField] Canvas CompletedCanvas;
 
+    PlayerCurrency playerCurr;
+
     private void Awake()
     {
         currQuest = questList[0];
         CompletedCanvas.enabled = false;
         loadedNext = false;
+        playerCurr = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerCurrency>();
     }
 
     public Quest getCurrentQuest()
@@ -38,6 +41,7 @@ public class QuestManager : MonoBehaviour
         {
             if (CompletedCanvas.enabled == true)
             {
+                rewardPlayer();
                 CompletedCanvas.enabled = false;
                 Time.timeScale = 1;
                 if (lm.GetCurrLevel() < 3)
@@ -123,4 +127,11 @@ public class QuestManager : MonoBehaviour
         jenderalCount = 0;
         rajaCount = 0;
     }
+
+    void rewardPlayer()
+    {
+        Debug.Log("Player rewarded");
+        int reward = 200 * (lm.GetCurrLevel() +  1); 
+        playerCurr.add(reward);
+    }
 }
diff --git a/Assets/ShopManager.cs b/Assets/ShopManager.cs
index 118562d..3183df9 100644
--- a/Assets/ShopManager.cs
+++ b/Assets/ShopManager.cs
@@ -68,6 +68,7 @@ public class ShopManager : MonoBehaviour {
 	
 	void Update()
 	{
+		balanceText.text = playerCurrency.Balance().ToString();
 		messageTimer -= Time.deltaTime;
 		if (isAccessible && Input.GetKeyDown(KeyCode.Space)) 
 		{
@@ -78,7 +79,6 @@ public class ShopManager : MonoBehaviour {
 			}
 
 			resetCanvas();
-			balanceText.text = playerCurrency.Balance().ToString();
 			showShop();
 			return;
 		} 
@@ -113,7 +113,8 @@ public class ShopManager : MonoBehaviour {
 			return;
 		}
 		playerCurrency.subtract(healingPetPrice);
-        Instantiate(healingPet, player.position, Quaternion.identity);     
+        GameObject pet = Instantiate(healingPet, player.position, Quaternion.identity);     
+		pet.transform.SetParent(player, false);
 	}
 
 	public void SpawnAttackingPet()
@@ -122,7 +123,8 @@ public class ShopManager : MonoBehaviour {
 			return;
 		}
 		playerCurrency.subtract(attackingPetPrice);
-		Instantiate(attackingPet, player.position, Quaternion.identity);
+		GameObject pet = Instantiate(attackingPet, player.position, Quaternion.identity);
+		pet.transform.SetParent(player, false);
 	}	
 
 	public void setAccessible(bool value)
-- 
GitLab