diff --git a/Assets/Scenes/Wave_Mode.unity b/Assets/Scenes/Wave_Mode.unity
index 34d9221a28500de1c65a9d0fa051c56acd4cf856..0294f4019a69a50ae75cfc268e4d8f54a1225d2e 100644
--- a/Assets/Scenes/Wave_Mode.unity
+++ b/Assets/Scenes/Wave_Mode.unity
@@ -669,7 +669,7 @@ Canvas:
   m_RenderMode: 0
   m_Camera: {fileID: 0}
   m_PlaneDistance: 100
-  m_PixelPerfect: 0
+  m_PixelPerfect: 1
   m_ReceivesEvents: 1
   m_OverrideSorting: 0
   m_OverridePixelPerfect: 0
@@ -6773,7 +6773,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!4 &922210157
 Transform:
   m_ObjectHideFlags: 0
@@ -7451,6 +7451,155 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1401845282}
   m_CullTransparentMesh: 0
+--- !u!1 &1406072521
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1406072522}
+  - component: {fileID: 1406072526}
+  - component: {fileID: 1406072525}
+  - component: {fileID: 1406072524}
+  - component: {fileID: 1406072523}
+  m_Layer: 5
+  m_Name: ContinueButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1406072522
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1406072521}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2029744893}
+  m_Father: {fileID: 1465724144}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -186}
+  m_SizeDelta: {x: 188.0606, y: 46.4533}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1406072523
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1406072521}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
+  m_EffectDistance: {x: 4, y: -4}
+  m_UseGraphicAlpha: 1
+--- !u!114 &1406072524
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1406072521}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 0}
+    m_HighlightedColor: {r: 0, g: 0, b: 0, a: 0.2627451}
+    m_PressedColor: {r: 0, g: 0, b: 0, a: 0.42745098}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1406072525}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 900876093}
+        m_TargetAssemblyTypeName: WeaponUpgradeUI, Assembly-CSharp
+        m_MethodName: Continue
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &1406072525
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1406072521}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1406072526
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1406072521}
+  m_CullTransparentMesh: 1
 --- !u!1 &1428992448
 GameObject:
   m_ObjectHideFlags: 0
@@ -7504,6 +7653,82 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 10
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1465724143
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1465724144}
+  - component: {fileID: 1465724146}
+  - component: {fileID: 1465724145}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1465724144
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1465724143}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.8671875, y: 0.8671875, z: 0.8671875}
+  m_Children:
+  - {fileID: 1406072522}
+  m_Father: {fileID: 1642071083}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 136, y: 76.57654}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1465724145
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1465724143}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.17475079, g: 0.50553596, b: 0.7264151, a: 0.25490198}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1465724146
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1465724143}
+  m_CullTransparentMesh: 1
 --- !u!1 &1569865515
 GameObject:
   m_ObjectHideFlags: 0
@@ -7627,6 +7852,7 @@ RectTransform:
   m_LocalScale: {x: 0, y: 0, z: 0}
   m_Children:
   - {fileID: 779113346}
+  - {fileID: 1465724144}
   m_Father: {fileID: 922210157}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -8022,6 +8248,85 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 12
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2029744892
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2029744893}
+  - component: {fileID: 2029744895}
+  - component: {fileID: 2029744894}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2029744893
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2029744892}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1406072522}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0.000015259, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2029744894
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2029744892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 46238fb1ad7a7a84ba8954c1c860994c, type: 3}
+    m_FontSize: 36
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 58
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Continue
+--- !u!222 &2029744895
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2029744892}
+  m_CullTransparentMesh: 1
 --- !u!1 &2070728228
 GameObject:
   m_ObjectHideFlags: 0
@@ -8162,6 +8467,27 @@ MonoBehaviour:
     - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
     weight: 1
     rate: 2
+  - name: Wave 4
+    enemyPool:
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    weight: 1
+    rate: 2
+  - name: Wave 5
+    enemyPool:
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    weight: 1
+    rate: 2
+  - name: Wave 6
+    enemyPool:
+    - {fileID: 1206665596, guid: f264ab47e25d0374ba89abced0b94b2a, type: 3}
+    - {fileID: 1914384318, guid: 3688f3f3f312c984fa78e00c09819e6c, type: 3}
+    - {fileID: 2022850303, guid: 73871ddf5c8d02442be00d9671a9d510, type: 3}
+    weight: 1
+    rate: 2
   spawnPoints:
   - {fileID: 9083842937541373870, guid: 6bbf9ef8fcce5114482d813a9b680d17, type: 3}
   - {fileID: 304385461253102273, guid: c88f58001921a7a4a9a51563d60192e6, type: 3}
diff --git a/Assets/Scripts/WaveMode/WaveSpawner.cs b/Assets/Scripts/WaveMode/WaveSpawner.cs
index f3cad55810b7c4f6e865768ff1c41c85fa070306..310a10f054db85ef2af526168de1f8d6d6a02257 100644
--- a/Assets/Scripts/WaveMode/WaveSpawner.cs
+++ b/Assets/Scripts/WaveMode/WaveSpawner.cs
@@ -82,12 +82,6 @@ public class WaveSpawner : MonoBehaviour
     {
         Debug.Log("Wave Completed!");
 
-        // kalo wave yang barusan completed merupakan kelipatan 3
-        if ((nextWave+1) % 3 == 0 && nextWave != 0)
-        {
-            WeaponUpgradeOption();
-        }
-
         state = SpawnState.COUNTING;
         waveCountdown = timeBetweenWaves;
 
@@ -100,6 +94,12 @@ public class WaveSpawner : MonoBehaviour
             return;
         }
 
+        // kalo wave yang barusan completed merupakan kelipatan 3 dan belum menang
+        if ((nextWave + 1) % 3 == 0 && nextWave != 0 && !WinManager.isWin)
+        {
+            WeaponUpgradeOption();
+        }
+
         // TODO kondisi wave completed
         if (!WinManager.isWin)
         {
@@ -200,7 +200,7 @@ public class WaveSpawner : MonoBehaviour
     void WeaponUpgradeOption()
     {
         Debug.Log("Tampilin screen upgrade weapon disini");
-        weaponUpgrade.Display();
+        weaponUpgrade.Pause();
 
     }
 }
diff --git a/Assets/Scripts/WeaponUpgrade/WeaponUpgradeUI.cs b/Assets/Scripts/WeaponUpgrade/WeaponUpgradeUI.cs
index 7dac1b7e895f8cbb3429bd6892335ca75e279383..17a48c02bda3e9e2bdf882b5ef86520855b03ceb 100644
--- a/Assets/Scripts/WeaponUpgrade/WeaponUpgradeUI.cs
+++ b/Assets/Scripts/WeaponUpgrade/WeaponUpgradeUI.cs
@@ -6,41 +6,42 @@ public class WeaponUpgradeUI : MonoBehaviour
 {
     private Transform weaponUpgradeTemplate;
     private Transform container;
-    private float durationInput = 3f;
-    private float duration;
+    public static bool GameIsPaused = false;
+
+    // private float durationInput = 3f;
+    // private float duration;
 
     private void Awake()
     {
         container = transform.Find("Container");
         weaponUpgradeTemplate = container.Find("WeaponUpgradeTemplate");
-        weaponUpgradeTemplate.gameObject.SetActive(false);
+        // weaponUpgradeTemplate.gameObject.SetActive(false);
     }
 
-    private void Show()
+    private void Hide()
     {
-        weaponUpgradeTemplate.gameObject.SetActive(true);
+        weaponUpgradeTemplate.gameObject.SetActive(false);
     }
 
-    private void Hide()
+    private void Show()
     {
-        weaponUpgradeTemplate.gameObject.SetActive(false);
+        weaponUpgradeTemplate.gameObject.SetActive(true);
+        // duration = durationInput;
     }
 
-    public void Display()
+    public void Pause()
     {
         Show();
-        duration = durationInput;
+
+        // freeze the game
+        Time.timeScale = 0f;
+        GameIsPaused = true;
     }
 
-    private void Update()
+    public void Continue()
     {
-        if (duration <= 0)
-        {
-            Hide();
-        }
-        else
-        {
-            duration -= Time.deltaTime;
-        }
+        Hide();
+        Time.timeScale = 1f;
+        GameIsPaused = false;
     }
 }