From bf1b8074f6bfaa6eca888edc5833d76058763f65 Mon Sep 17 00:00:00 2001
From: Muhammad Equilibrie Fajria <104043362+MuhLibri@users.noreply.github.com>
Date: Sat, 11 May 2024 14:36:20 +0700
Subject: [PATCH] feat: add hide ui

---
 Assets/Prefab/HideUI.prefab             | 48 ++++++++++++++++++
 Assets/Prefab/HideUI.prefab.meta        |  7 +++
 Assets/Scenes/Main.unity                | 66 +++++++++++++++++++++++++
 Assets/Scripts/HideUI.cs                | 24 +++++++++
 Assets/Scripts/HideUI.cs.meta           | 11 +++++
 Assets/Scripts/Pet/PetAttackMovement.cs |  5 ++
 Assets/Scripts/Pet/PetDamageEffect.cs   | 37 ++++++++++----
 Assets/Scripts/Pet/PetDamageMovement.cs |  6 ++-
 Assets/Scripts/Pet/PetMovement.cs       |  7 ++-
 9 files changed, 200 insertions(+), 11 deletions(-)
 create mode 100644 Assets/Prefab/HideUI.prefab
 create mode 100644 Assets/Prefab/HideUI.prefab.meta
 create mode 100644 Assets/Scripts/HideUI.cs
 create mode 100644 Assets/Scripts/HideUI.cs.meta

diff --git a/Assets/Prefab/HideUI.prefab b/Assets/Prefab/HideUI.prefab
new file mode 100644
index 0000000..c981925
--- /dev/null
+++ b/Assets/Prefab/HideUI.prefab
@@ -0,0 +1,48 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6653647578178766070
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2352432253884264905}
+  - component: {fileID: 2366282531183629588}
+  m_Layer: 0
+  m_Name: HideUI
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2352432253884264905
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6653647578178766070}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 624.77826, y: 16.786343, z: 319.90485}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2366282531183629588
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6653647578178766070}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4ba59c2912566c7439999df73448e78d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  questBox: {fileID: 0}
+  healthBar: {fileID: 0}
diff --git a/Assets/Prefab/HideUI.prefab.meta b/Assets/Prefab/HideUI.prefab.meta
new file mode 100644
index 0000000..1788826
--- /dev/null
+++ b/Assets/Prefab/HideUI.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7b7554f38dd665d4f9a76ac3a6c00413
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity
index 864c72d..d198341 100644
--- a/Assets/Scenes/Main.unity
+++ b/Assets/Scenes/Main.unity
@@ -10671,6 +10671,71 @@ PrefabInstance:
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: c393582f3dda77341b5257312849c644, type: 3}
+--- !u!1001 &9107258187242491825
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 624.77826
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 16.786343
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 319.90485
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2352432253884264905, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2366282531183629588, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: questBox
+      value: 
+      objectReference: {fileID: 18841642}
+    - target: {fileID: 2366282531183629588, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: healthBar
+      value: 
+      objectReference: {fileID: 1301523887}
+    - target: {fileID: 6653647578178766070, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
+      propertyPath: m_Name
+      value: HideUI
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 7b7554f38dd665d4f9a76ac3a6c00413, type: 3}
 --- !u!1660057539 &9223372036854775807
 SceneRoots:
   m_ObjectHideFlags: 0
@@ -10688,3 +10753,4 @@ SceneRoots:
   - {fileID: 1479356872}
   - {fileID: 165408197}
   - {fileID: 1227904935}
+  - {fileID: 9107258187242491825}
diff --git a/Assets/Scripts/HideUI.cs b/Assets/Scripts/HideUI.cs
new file mode 100644
index 0000000..b8d288f
--- /dev/null
+++ b/Assets/Scripts/HideUI.cs
@@ -0,0 +1,24 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class HideUI : MonoBehaviour
+{
+    public GameObject questBox;
+    public GameObject healthBar;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (Input.GetKeyDown(KeyCode.F1)) {
+            questBox.SetActive(!questBox.activeSelf);
+            healthBar.SetActive(!healthBar.activeSelf);
+        }    
+    }
+}
diff --git a/Assets/Scripts/HideUI.cs.meta b/Assets/Scripts/HideUI.cs.meta
new file mode 100644
index 0000000..06176c4
--- /dev/null
+++ b/Assets/Scripts/HideUI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4ba59c2912566c7439999df73448e78d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Pet/PetAttackMovement.cs b/Assets/Scripts/Pet/PetAttackMovement.cs
index 31c8798..55510f3 100644
--- a/Assets/Scripts/Pet/PetAttackMovement.cs
+++ b/Assets/Scripts/Pet/PetAttackMovement.cs
@@ -32,6 +32,11 @@ public class PetAttackMovement : MonoBehaviour
     // Update is called once per frame
     void Update()
     {   
+        if(owner == null) {
+            PetHealth petHealth = GetComponent<PetHealth>();
+            petHealth.TakeDamage(petHealth.currentHealth);
+        }
+
         targetEnemy = attackPetAttack.target;
         if(targetEnemy != null) {
             Attacking();
diff --git a/Assets/Scripts/Pet/PetDamageEffect.cs b/Assets/Scripts/Pet/PetDamageEffect.cs
index 96234c3..0e1151d 100644
--- a/Assets/Scripts/Pet/PetDamageEffect.cs
+++ b/Assets/Scripts/Pet/PetDamageEffect.cs
@@ -9,15 +9,24 @@ public class PetDamageEffect : MonoBehaviour
     // Start is called before the first frame update
     void Start()
     {
-        PetDamageMovement petDamageMovement = GetComponent<PetDamageMovement>();
-        owner = petDamageMovement.owner;
     }
 
     void Awake()
     {
-        PlayerWeaponState playerWeaponState = owner.GetComponent<PlayerWeaponState>();
-        playerWeaponState.petDamageCount++;
-        playerWeaponState.petDamageBoostPercentage = boostPercentage;
+        PetDamageMovement petDamageMovement = GetComponent<PetDamageMovement>();
+        owner = petDamageMovement.owner;
+
+        if(owner.tag == "Player"){
+            PlayerWeaponState playerWeaponState = owner.GetComponent<PlayerWeaponState>();
+            playerWeaponState.petDamageCount++;
+            playerWeaponState.petDamageBoostPercentage = boostPercentage;
+        }
+        else if (owner.tag == "Enemy"){
+            PetDamageManager petDamageManager = owner.GetComponent<PetDamageManager>();
+            petDamageManager.petDamageCount++;
+            petDamageManager.petDamageBoostPercentage = boostPercentage;
+        }
+    
     }
 
     // Update is called once per frame
@@ -27,10 +36,20 @@ public class PetDamageEffect : MonoBehaviour
     }
 
     void OnDestroy(){
-        PlayerWeaponState playerWeaponState = owner.GetComponent<PlayerWeaponState>();
-        playerWeaponState.petDamageCount--;
-        if(playerWeaponState.petDamageCount == 0){
-            playerWeaponState.petDamageBoostPercentage = 0;
+        if(owner.tag == "Player"){
+            PlayerWeaponState playerWeaponState = owner.GetComponent<PlayerWeaponState>();
+            playerWeaponState.petDamageCount--;
+            if(playerWeaponState.petDamageCount == 0){
+                playerWeaponState.petDamageBoostPercentage = 0;
+            }
+        }
+        else if (owner.tag == "Enemy"){
+            PetDamageManager petDamageManager = owner.GetComponent<PetDamageManager>();
+            petDamageManager.petDamageCount--;
+            if(petDamageManager.petDamageCount == 0){
+                petDamageManager.petDamageBoostPercentage = 0;
+            }
         }
+       
     }
 }
diff --git a/Assets/Scripts/Pet/PetDamageMovement.cs b/Assets/Scripts/Pet/PetDamageMovement.cs
index c0b28ab..9d1d5f8 100644
--- a/Assets/Scripts/Pet/PetDamageMovement.cs
+++ b/Assets/Scripts/Pet/PetDamageMovement.cs
@@ -25,11 +25,15 @@ public class PetDamageMovement : MonoBehaviour
     // Update is called once per frame
     void Update()
     {
+        if(owner == null) {
+            PetHealth petHealth = GetComponent<PetHealth>();
+            petHealth.TakeDamage(petHealth.currentHealth);
+        }
+
         Chase();
         Run();
 
         agent.destination = destinationVar;
-        
     }
 
     void Chase() {
diff --git a/Assets/Scripts/Pet/PetMovement.cs b/Assets/Scripts/Pet/PetMovement.cs
index ae30772..3c3cbe7 100644
--- a/Assets/Scripts/Pet/PetMovement.cs
+++ b/Assets/Scripts/Pet/PetMovement.cs
@@ -27,12 +27,17 @@ public class PetMovement : MonoBehaviour
     // Update is called once per frame
     void Update()
     {
+        if(owner == null) {
+            PetHealth petHealth = GetComponent<PetHealth>();
+            petHealth.TakeDamage(petHealth.currentHealth);
+        }
+
         Chase();
         agent.destination = destinationVar;
         if (Input.GetKey(KeyCode.LeftShift)) {
             agent.speed = sprintSpeed;
         }
-    }
+      }
 
     void Chase() {
         float distanceToPlayer = Vector3.Distance(transform.position, owner.transform.position);
-- 
GitLab