diff --git a/Assets/Prefabs/PetAttack.prefab b/Assets/Prefabs/PetAttack.prefab index 9ce157c3e9b49074d0452cf690fdbcaf8c6c1a44..87cc3ee25063695a8ab39c8c8ed92b41d2987f96 100644 --- a/Assets/Prefabs/PetAttack.prefab +++ b/Assets/Prefabs/PetAttack.prefab @@ -9963,9 +9963,10 @@ GameObject: - component: {fileID: 13644992} - component: {fileID: 2859551716155522660} - component: {fileID: 8217030031159983572} + - component: {fileID: 479495181824612262} m_Layer: 6 m_Name: PetAttack - m_TagString: Untagged + m_TagString: Pet m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -10200,3 +10201,15 @@ MonoBehaviour: startingHealth: 100 currentHealth: 0 deathClip: {fileID: 0} +--- !u!114 &479495181824612262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3680115193894871933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9e6981141751ab47b36e170ae174c63, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/PetBuff.prefab b/Assets/Prefabs/PetBuff.prefab index 447dc4c5a727b5d68ba39a5700a886507be87e43..7c67d49fc059d055fd9edc74b3ba491d971be418 100644 --- a/Assets/Prefabs/PetBuff.prefab +++ b/Assets/Prefabs/PetBuff.prefab @@ -9933,9 +9933,10 @@ GameObject: - component: {fileID: 11400006} - component: {fileID: 2044756667345344672} - component: {fileID: 3682937918000804156} + - component: {fileID: 342778600753362817} m_Layer: 6 m_Name: PetBuff - m_TagString: Untagged + m_TagString: Pet m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -10179,3 +10180,15 @@ MonoBehaviour: startingHealth: 100 currentHealth: 0 deathClip: {fileID: 0} +--- !u!114 &342778600753362817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3606018136342516863} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9e6981141751ab47b36e170ae174c63, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/PetHeal.prefab b/Assets/Prefabs/PetHeal.prefab index da0ae00ab5bd60aef9414ffc76fdec11499883d9..a22085b699a093a85f93ab33c71e3cfe231ab7d6 100644 --- a/Assets/Prefabs/PetHeal.prefab +++ b/Assets/Prefabs/PetHeal.prefab @@ -198,9 +198,10 @@ GameObject: - component: {fileID: 2965714918109986525} - component: {fileID: 2915336849517772464} - component: {fileID: 9025456973597242216} + - component: {fileID: -1583485313455065399} m_Layer: 6 m_Name: PetHeal - m_TagString: Untagged + m_TagString: Pet m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -433,6 +434,18 @@ MonoBehaviour: startingHealth: 100 currentHealth: 0 deathClip: {fileID: 0} +--- !u!114 &-1583485313455065399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5172213328979931919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9e6981141751ab47b36e170ae174c63, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &2965714917986399086 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Pets/PetAttack.cs b/Assets/Scripts/Pets/PetAttack.cs index 52ab77bd1ab3048c8ae0b42369a764e4651ec030..0f7214bcc58e063bd9ed3b9f3f70c7a163e5988a 100644 --- a/Assets/Scripts/Pets/PetAttack.cs +++ b/Assets/Scripts/Pets/PetAttack.cs @@ -1,18 +1,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using System.Linq; public class PetAttack : MonoBehaviour { public float timeBetweenAttacks = 0.5f; public int attackDamage = 10; - + GameObject[] enemy; + GameObject[] enemyInRange; Animator anim; GameObject player; PlayerHealth playerHealth; EnemyHealth enemyHealth; bool playerInRange; + bool attacking; float timer; @@ -20,24 +23,15 @@ public class PetAttack : MonoBehaviour { player = GameObject.FindGameObjectWithTag ("Player"); playerHealth = player.GetComponent <PlayerHealth> (); - enemyHealth = GetComponent<EnemyHealth>(); anim = GetComponent <Animator> (); } - void OnTriggerEnter (Collider other) - { - if(other.gameObject == player) - { - playerInRange = true; - } - } - - void OnTriggerExit (Collider other) + void OnTriggerStay(Collider other) { - if(other.gameObject == player) - { - playerInRange = false; - } + if (enemy.Contains(other.gameObject)) + { + Attack(other.gameObject); + } } @@ -46,9 +40,9 @@ public class PetAttack : MonoBehaviour if (!GameManager.isPause) { timer += Time.deltaTime; - if(timer >= timeBetweenAttacks && playerInRange && enemyHealth.currentHealth > 0) + if(timer >= timeBetweenAttacks) { - Attack (); + attacking = true; } if (playerHealth.currentHealth <= 0) @@ -59,14 +53,14 @@ public class PetAttack : MonoBehaviour } - void Attack () + void Attack (GameObject enemy) { if (!GameManager.isPause) { - timer = 0f; if (playerHealth.currentHealth > 0) { - playerHealth.TakeDamage (attackDamage); + enemyHealth = enemy.GetComponent<EnemyHealth>(); + enemyHealth.TakeDamage(attackDamage, transform.position); } } } diff --git a/Assets/Scripts/Pets/PetMovePassive.cs b/Assets/Scripts/Pets/PetMovePassive.cs new file mode 100644 index 0000000000000000000000000000000000000000..c041cc073e846b60d452861de04c3afb067605a4 --- /dev/null +++ b/Assets/Scripts/Pets/PetMovePassive.cs @@ -0,0 +1,47 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PetMovePassive : MonoBehaviour +{ + Transform player; + UnityEngine.AI.NavMeshAgent nav; + + + private void Awake () + { + player = GameObject.FindGameObjectWithTag ("Player").transform; + nav = GetComponent <UnityEngine.AI.NavMeshAgent> (); + } + + void OnTriggerEnter (Collider other) + { + if(other.gameObject == player) + { + nav.enabled = false; + } + } + + void OnTriggerExit (Collider other) + { + if(other.gameObject == player) + { + nav.enabled = true; + } + } + + void Update () + { + if (!GameManager.isPause) { + + if (nav.enabled == true) + { + nav.SetDestination (player.position); + } + + } + if(GameManager.isPause){ + nav.enabled=false; + } + } +} diff --git a/Assets/Scripts/Pets/PetMovePassive.cs.meta b/Assets/Scripts/Pets/PetMovePassive.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..c412bcf414f2d7c25f544bb90a3dc5ecc7f8adc1 --- /dev/null +++ b/Assets/Scripts/Pets/PetMovePassive.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9e6981141751ab47b36e170ae174c63 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 8a476c5530d5f4c440781e8c57777f7ea6592fbf..1ff4b69388e4e4534e93bc6458c74ade72c0b0b8 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -7,6 +7,7 @@ TagManager: - ShopKeeperManager - Enemy - Weapon + - Pet layers: - Default - TransparentFX