private void OnTriggerEnter2D(Collider2D collision) { if (!interactable) { return; } if (collision.CompareTag("Twirl")) { Hitbox hitbox = collision.GetComponent <Hitbox>(); if (hitbox != null) { OnTwirlEvent(hitbox); } } else if (collision.CompareTag("Hitbox")) { Hitbox hitbox = collision.GetComponent <Hitbox>(); if (hitbox != null && hitbox.id != id) { OnHitboxEvent(hitbox); } } else if (collision.CompareTag("NightmatrixBorder")) { NightmatrixBorder border = collision.GetComponent <NightmatrixBorder>(); if (border) { controller.SetNightmarePhase(border.mainMatrix.GetComponent <Nightmatrix>()); } } }
private void OnTriggerEnter2D(Collider2D collision) { if (currentNightmatrix == null && collision.CompareTag("Nightmatrix")) { Nightmatrix nightmatrix = collision.GetComponent <Nightmatrix>(); if (nightmatrix) { SwitchIn(nightmatrix); } } if (collision.CompareTag("Hitbox")) { Hitbox hitbox = collision.GetComponent <Hitbox>(); if (hitbox != null && hitbox.id != id) { OnHitboxEvent(hitbox, hitbox.damage); } } else if (collision.CompareTag("Explosion")) { Hitbox hitbox = collision.GetComponent <Hitbox>(); if (hitbox != null && hitbox.id != id) { OnHitboxEvent(hitbox, 100); } } else if (collision.CompareTag("NightmatrixBorder")) { NightmatrixBorder border = collision.GetComponent <NightmatrixBorder>(); if (border) { controller.SetDreamPhase(border.mainMatrix.GetComponent <Nightmatrix>()); } } }
private void TriggerEnterAndStayEvents(Collider2D collision) { //somente o filho "Ghost" consegue entrar em contato com "Enemy"s if (collision.transform.CompareTag("Enemy")) { Vector3 contactPoint = collision.transform.position; IShooterTouch enemy = collision.transform.GetComponent <IShooterTouch>(); if (enemy != null) { enemy.OnTouchEvent(this); } } else if (collision.transform.CompareTag("Hitbox") || collision.transform.CompareTag("Explosion")) { Hitbox hitbox = collision.GetComponent <Hitbox>(); if (hitbox && hitbox.id != ID.Player && PlayerState != State.Dashing) { SetDamage(hitbox.damage); Bullet bullet = collision.GetComponent <Bullet>(); if (bullet) { bullet.Vanish(); } } } else if (!locked && collision.CompareTag("NightmatrixBorder")) { NightmatrixBorder border = collision.GetComponent <NightmatrixBorder>(); if (border) { controller.SetDreamPhase(border.mainMatrix.GetComponent <Nightmatrix>()); } } }