private void OnTriggerExit(Collider other) { if (other.gameObject.tag.Equals("Monster")) { MonsterXboxController monster = other.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { string removeInteract = monster.GetInteractButton(); int index = int.Parse(removeInteract.Substring(removeInteract.Length - 1)) - 1; interacts[index] = ""; monsters[index] = null; } } }
private void OnTriggerEnter(Collider other) { if (!totem.StillSpawning() && totem.curEnemy == null && other.gameObject.tag.Equals("Monster")) { MonsterXboxController monster = other.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { string newInteract = monster.GetInteractButton(); int index = int.Parse(newInteract.Substring(newInteract.Length - 1)) - 1; interacts[index] = newInteract; monsters[index] = monster; } } }
// Update is called once per frame void Update() { if (monster != null) { transform.localScale = new Vector3(Mathf.Max(0f, monster.GetHealth() / maxHP), 1f, 1f) * modifier; } else { GameObject monsterObject = GameObject.Find(monsterName); if (monsterObject != null) { monster = monsterObject.GetComponentInChildren <MonsterXboxController>(); if (monster != null) { maxHP = monster.GetHealth(); } } } }
void Update() { if (allowHit) { Vector3 backward = -Vector3.forward; Vector3 left = Quaternion.AngleAxis(5f, Vector3.right) * backward; Vector3 right = Quaternion.AngleAxis(5f, -Vector3.right) * backward; Vector3 up = Quaternion.AngleAxis(5f, Vector3.up) * backward; Vector3 down = Quaternion.AngleAxis(5f, -Vector3.up) * backward; RaycastHit hit; if (Physics.Raycast(transform.position, transform.TransformDirection(backward), out hit, hitDistance, layerMask)) { if (hit.collider.tag.Equals("Monster")) { MonsterXboxController monster = hit.collider.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { monster.SetHitTrigger(); monster.ReduceHeath(); } } else if (hit.collider.tag.Equals("Totem")) { EnemyGenerator totem = hit.collider.gameObject.GetComponent <EnemyGenerator>(); if (totem != null) { if (totem.StopSpawning()) { gameManager.shrinesHit++; StartCoroutine(ShowShrinesLeft()); } } } } else if (Physics.Raycast(transform.position, transform.TransformDirection(left), out hit, hitDistance, layerMask)) { if (hit.collider.tag.Equals("Monster")) { MonsterXboxController monster = hit.collider.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { monster.SetHitTrigger(); monster.ReduceHeath(); } } else if (hit.collider.tag.Equals("Totem")) { EnemyGenerator totem = hit.collider.gameObject.GetComponent <EnemyGenerator>(); if (totem != null) { if (totem.StopSpawning()) { gameManager.shrinesHit++; StartCoroutine(ShowShrinesLeft()); } } } } else if (Physics.Raycast(transform.position, transform.TransformDirection(right), out hit, hitDistance, layerMask)) { if (hit.collider.tag.Equals("Monster")) { MonsterXboxController monster = hit.collider.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { monster.SetHitTrigger(); monster.ReduceHeath(); } } else if (hit.collider.tag.Equals("Totem")) { EnemyGenerator totem = hit.collider.gameObject.GetComponent <EnemyGenerator>(); if (totem != null) { if (totem.StopSpawning()) { gameManager.shrinesHit++; StartCoroutine(ShowShrinesLeft()); } } } } else if (Physics.Raycast(transform.position, transform.TransformDirection(up), out hit, hitDistance, layerMask)) { if (hit.collider.tag.Equals("Monster")) { MonsterXboxController monster = hit.collider.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { monster.SetHitTrigger(); monster.ReduceHeath(); } } else if (hit.collider.tag.Equals("Totem")) { EnemyGenerator totem = hit.collider.gameObject.GetComponent <EnemyGenerator>(); if (totem != null) { if (totem.StopSpawning()) { gameManager.shrinesHit++; StartCoroutine(ShowShrinesLeft()); } } } } else if (Physics.Raycast(transform.position, transform.TransformDirection(down), out hit, hitDistance, layerMask)) { if (hit.collider.tag.Equals("Monster")) { MonsterXboxController monster = hit.collider.gameObject.GetComponent <MonsterXboxController>(); if (monster != null) { monster.SetHitTrigger(); monster.ReduceHeath(); } } else if (hit.collider.tag.Equals("Totem")) { EnemyGenerator totem = hit.collider.gameObject.GetComponent <EnemyGenerator>(); if (totem != null) { if (totem.StopSpawning()) { gameManager.shrinesHit++; StartCoroutine(ShowShrinesLeft()); } } } } } }