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