private void OnTriggerEnter(Collider other) { if (other.gameObject.layer == LayerMask.NameToLayer("Characters")) { Character otherChar = other.GetComponent <Character>(); if (otherChar) { if (otherChar != character) { otherChar.SetDamage(damage, direction, force, character); } } } if (other.gameObject.tag == "Destroyable") { Destroyable otherDestroy = other.GetComponent <Destroyable>(); if (otherDestroy) { otherDestroy.Shatter(true); } } }
private void OnTriggerEnter(Collider other) { Debug.Log(other.gameObject.name); if (!isDone) { if (other.gameObject.layer == LayerMask.NameToLayer(characterMask)) { // Get collided character reference Character otherChar = other.GetComponent <Character>(); if (otherChar) { if ((character.IsPlayer && otherChar.gameObject.tag == "Enemy") || (!character.IsPlayer && otherChar.gameObject.tag == "Player")) { // Apply damage or time scale to character switch (type) { case ProjectileType.DAMAGE: otherChar.SetDamage(damage, Vector3.zero, 0f, character); break; case ProjectileType.TIME: otherChar.SetTimeScale(duration, scale); break; default: break; } } } } else if (other.gameObject.layer == LayerMask.NameToLayer(pickableMask)) { // Apply time scale to pickable object if (type == ProjectileType.TIME) { other.GetComponent <PuzzlePiece>().SetTimeScale(duration, scale); } } else if (other.gameObject.tag == "Destroyable") { // Get destroyable reference from collided object Destroyable otherDestroy = other.GetComponent <Destroyable>(); // If exist, shatter destroyable object if (otherDestroy) { otherDestroy.Shatter(false); } } if (other.gameObject.layer != LayerMask.NameToLayer("Actions") && other.gameObject.tag != "Trap") { // Disable physics and parent bullet to triggered transform component rb.isKinematic = true; trans.parent = other.transform; // Destroy object after a delay Invoke("DestroyObject", destroyDelay); // Disable projectile and enable explosion projectile.SetActive(false); explosion.SetActive(true); // Update done state isDone = true; // Disable collider coll.enabled = false; } } }