private void OnTriggerEnter2D(Collider2D other) { bool isProjectile = other.CompareTag("Projectile"); bool isPlayer = other.CompareTag("Player"); if (isProjectile || isPlayer) { if (isProjectile) { handler = other.GetComponent <ProjectileController>().GetShooter(); Destroy(other.gameObject); } if (isPlayer) { handler = other.GetComponent <PlayerPowerupHandler>(); } Destroy(this.gameObject); ApplyPowerUp(); } }
public void Remove(PlayerPowerupHandler handler) { removeAction?.Invoke(handler); }
public void Apply(PlayerPowerupHandler handler) { applyAction?.Invoke(handler); }
public void DoubleGunApplyAction(PlayerPowerupHandler controller) { controller.SetGunMode(GunMode.DOUBLE); }
public void MovementSpeedUpRemoveAction(PlayerPowerupHandler controller) { controller.SetMovementSpeed(PlayerMovement.defaultSpeed); }
public void MovementSpeedUpApplyAction(PlayerPowerupHandler controller) { controller.SetMovementSpeed(PlayerMovement.defaultSpeed * 1.5f); }
public void DoubleShotSpeedRemoveAction(PlayerPowerupHandler controller) { controller.SetShotSpeed(PlayerAttack.defaultSpeed); }
public void HealApplyAction(PlayerPowerupHandler controller) { controller.Heal(20); }
public void TripleGunRemoveAction(PlayerPowerupHandler controller) { controller.SetGunMode(GunMode.SINGLE); }
public void TripleGunApplyAction(PlayerPowerupHandler controller) { controller.SetGunMode(GunMode.TRIPLE); }
public void SetShooter(GameObject player) { this.player = player.GetComponent <PlayerAttack>(); this.handler = player.GetComponent <PlayerPowerupHandler>(); _renderer.materials[0].SetColor("_TintColor", this.player.playerColor); }