From 683edf79667b8035cbf599bd37915719bca27ae3 Mon Sep 17 00:00:00 2001
From: Jesica <13519011@std.stei.itb.ac.id>
Date: Thu, 7 Apr 2022 17:04:25 +0700
Subject: [PATCH] save score fixed

---
 Assets/Scenes/Main_Menu.unity              | 12 +++---
 Assets/Scenes/Wave_Mode.unity              | 43 ++++++++++++++++++++++
 Assets/Scripts/Managers/GameOverManager.cs | 17 +++++++--
 Assets/Scripts/Managers/MainMenu.cs        |  2 +-
 Assets/Scripts/WaveMode/WaveScoreboard.cs  |  9 ++++-
 ProjectSettings/TagManager.asset           |  1 +
 6 files changed, 73 insertions(+), 11 deletions(-)

diff --git a/Assets/Scenes/Main_Menu.unity b/Assets/Scenes/Main_Menu.unity
index 687aaf4..f070be0 100644
--- a/Assets/Scenes/Main_Menu.unity
+++ b/Assets/Scenes/Main_Menu.unity
@@ -1342,9 +1342,9 @@ RectTransform:
   m_Father: {fileID: 1530032123}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: -120}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0, y: 0}
 --- !u!1 &451601672
@@ -1665,7 +1665,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &654873304
 RectTransform:
   m_ObjectHideFlags: 0
@@ -4158,7 +4158,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 322.8, y: 93.49991}
-  m_SizeDelta: {x: 600, y: 0}
+  m_SizeDelta: {x: 600, y: 120}
   m_Pivot: {x: 0.5, y: 1}
 --- !u!114 &1530032124
 MonoBehaviour:
@@ -5537,7 +5537,7 @@ GameObject:
   - component: {fileID: 1969943850}
   m_Layer: 5
   m_Name: ScrollArea
-  m_TagString: Untagged
+  m_TagString: ScoreboardWave
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
diff --git a/Assets/Scenes/Wave_Mode.unity b/Assets/Scenes/Wave_Mode.unity
index 75dc0b4..98b92bf 100644
--- a/Assets/Scenes/Wave_Mode.unity
+++ b/Assets/Scenes/Wave_Mode.unity
@@ -7153,6 +7153,49 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1152359697}
   m_CullTransparentMesh: 1
+--- !u!1 &1255660885
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1255660887}
+  - component: {fileID: 1255660886}
+  m_Layer: 0
+  m_Name: Scoreboard
+  m_TagString: ScoreboardWave
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1255660886
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1255660885}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fa38f9b71666f6442a3b9ca9b09395ca, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!4 &1255660887
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1255660885}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 408.4926, y: 257.55722, z: -0.000705719}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 14
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1284949277
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs
index d194078..d080a7f 100644
--- a/Assets/Scripts/Managers/GameOverManager.cs
+++ b/Assets/Scripts/Managers/GameOverManager.cs
@@ -8,7 +8,8 @@ public class GameOverManager : MonoBehaviour
 {
     public Text warningText;
     public PlayerHealth playerHealth;
-    public float restartDelay = 5f;
+    private bool isUpdated = false;
+    // public float restartDelay = 5f;
     // public WaveScoreboard waveScoreboard;
 
     Animator anim;
@@ -29,10 +30,20 @@ public class GameOverManager : MonoBehaviour
             string name = PlayerPrefs.GetString("name");
             int wave = WaveManager.wave;
             int score = ScoreManager.score;
-            Debug.Log("SCORE: " + name + " " + wave + " " + score);
+            // Debug.Log("SCORE: " + name + " " + wave + " " + score);
 
             // save score to scoreboard
-            // WaveScoreboard.AddScoreEntry(score, wave, name);
+            if (!isUpdated)
+            {
+                GameObject waveScoreboard = GameObject.FindGameObjectWithTag("ScoreboardWave");
+                WaveScoreboard _waveScoreboard = waveScoreboard.GetComponent<WaveScoreboard>();
+                if (_waveScoreboard == null)
+                {
+                    Debug.Log("Null weh wv scbrdnya");
+                }
+                _waveScoreboard.AddScoreEntry(score, wave, name);
+                isUpdated = true;
+            }
 
             // display game over animation
             anim.SetTrigger("GameOver");
diff --git a/Assets/Scripts/Managers/MainMenu.cs b/Assets/Scripts/Managers/MainMenu.cs
index 8c1e885..c9ae0f9 100644
--- a/Assets/Scripts/Managers/MainMenu.cs
+++ b/Assets/Scripts/Managers/MainMenu.cs
@@ -13,7 +13,7 @@ public class MainMenu : MonoBehaviour
     public void QuitGame()
     {
         Debug.Log("QUIT!");
-        PlayerPrefs.DeleteAll(); // TODO harus disimpen ga ya?
+        PlayerPrefs.DeleteKey("name");
         Application.Quit();
     }
 }
diff --git a/Assets/Scripts/WaveMode/WaveScoreboard.cs b/Assets/Scripts/WaveMode/WaveScoreboard.cs
index 2896f49..cd0b320 100644
--- a/Assets/Scripts/WaveMode/WaveScoreboard.cs
+++ b/Assets/Scripts/WaveMode/WaveScoreboard.cs
@@ -108,7 +108,7 @@ public class WaveScoreboard : MonoBehaviour
 
         if (scores == null)
         {
-            Debug.Log("scores null");
+            Debug.Log("scores null tp tenang udah ke-handle");
             scores = new Scores();
             scores.scoreEntryList = new List<ScoreEntry>();
         }
@@ -136,6 +136,13 @@ public class WaveScoreboard : MonoBehaviour
     private void DisplayScoreboard()
     {
         entryContainer = transform.Find("ScoreEntryContainer");
+
+        // buat biar ga muncul error di scene Wave_Mode
+        if (entryContainer == null)
+        {
+            return;
+        }
+
         entryTemplate = entryContainer.Find("ScoreEntryTemplate");
 
         entryTemplate.gameObject.SetActive(false);
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
index 68a300c..1366b54 100644
--- a/ProjectSettings/TagManager.asset
+++ b/ProjectSettings/TagManager.asset
@@ -6,6 +6,7 @@ TagManager:
   tags:
   - WeaponUpgradeUI
   - Enemy
+  - ScoreboardWave
   layers:
   - Default
   - TransparentFX
-- 
GitLab