public void ActivateShield() { Debug.Log("Activating player shield!"); _shieldInstance = Instantiate(_shieldPrefab, transform.position, Quaternion.identity); _shieldInstance.player = player; hasShield = true; StartCoroutine(RemoveShield()); // wait for 10 secs before disabling again! }
private void OnTriggerEnter2D(Collider2D other) { switch (other.gameObject.tag) { case "ShieldEffect": // Deactivate player's shield ShieldEffectController shield = other.transform.GetComponent <ShieldEffectController>(); _player.playerDamage.ShieldDeactivate(); Destroy(gameObject); //self destroy break; case "Player": // if other is player, then destroy us and damage player //! Player damage code to be added if (_player != null) { _player.playerDamage.Damage(); } Destroy(gameObject); break; case "Laser": if (_player != null) { _player.playerScore.Score += 10; Destroy(other.gameObject); //destroy the laser // if other is laser, destroy us and destroy laser; Destroy(gameObject); } break; } }