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();
        }
    }
Esempio n. 2
0
 public void Remove(PlayerPowerupHandler handler)
 {
     removeAction?.Invoke(handler);
 }
Esempio n. 3
0
 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);
 }
Esempio n. 10
0
 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);
 }