public override void applyPickUp(PlayerController player) { player.powerUp = powerUpSelected.ToString(); switch (powerUpSelected.ToString()) { case "jump": player.jumpForce = valueToApply; break; case "movement": player.maxSpeed = valueToApply; break; case "gravity": player.GetComponent <Rigidbody2D>().gravityScale = valueToApply; break; case "resistance": // This is a decimal value player.resistance = valueToApply; break; case "health": player.modifyHealth(-1 * valueToApply); break; } if (powerUpDuration > 0) { player.powerUpUntil(powerUpDuration, GetComponent <SpriteRenderer>().sprite); } }
public void OnTriggerEnter(Collider other) { if (other.tag == "Player") { if (other == player.GetComponent <BoxCollider>()) { player.PowerUpTaken(powerup, value); FloatingTextController.CreateFloatingText("+" + value + " " + powerup.ToString(), transform, Color.white); Destroy(gameObject); } } }
public void DeactivatePowerUp(PowerUp power) { if (!power) { for (int i = 0; i < activePowers.Count; i++) { PowerUp power2 = (PowerUp)(gameObject.GetComponent(activePowers[0].GetType())); power2.DestroyAllHelper(); } activePowers.Clear (); // Debug.Log ("Deactivated powerup is null"); powerUpParticles.enableEmission = false; } else if (activePowers.Contains (power)) { Destroy (gameObject.GetComponent (power.GetType ())); activePowers.Remove (power); // Debug.Log("Attempting to remove " + power.ToString ()); if (activePowers.Count <= 0) { powerUpParticles.enableEmission = false; } } else { Debug.LogError("Tried to remove a power that the object did not have. Power: " + power.ToString ()); } //gameObject.GetComponent<pu.GetType()> }
public void ActivatePowerup(PowerUp powerUp) { Debug.Log("Trying to use powerup " + powerUp.ToString()); Debug.Log("powerUp count:" + invincibilityCount + " " + infiniteAmmoCount + " " + ricochetBulletCount + " " + spreadShotCount); switch (powerUp) { case PowerUp.InvincibilityPowerup: if (invincibilityCount > 0 && canPowerup) { Debug.Log("Player has activated powerup " + powerUp.ToString()); invincibilityCount--; FindObjectOfType <AudioManager>().Play("PowerUp"); canPowerup = false; invincible = true; //Affect stats //Start timer FindObjectOfType <TimerController>().StartTime(power_up_duration); } break; case PowerUp.InfiniteAmmoPowerup: if (infiniteAmmoCount > 0 && canPowerup) { Debug.Log("Player has activated powerup " + powerUp.ToString()); infiniteAmmoCount--; FindObjectOfType <AudioManager>().Play("PowerUp"); canPowerup = false; infiniteAmmo = true; //Affect stats //Start timer FindObjectOfType <TimerController>().StartTime(power_up_duration); } break; case PowerUp.RicochetBulletPowerup: if (ricochetBulletCount > 0 && canPowerup) { Debug.Log("Player has activated powerup " + powerUp.ToString()); ricochetBulletCount--; //Affect stats //Start timer FindObjectOfType <TimerController>().StartTime(power_up_duration); } break; case PowerUp.SpreadShotPowerup: if (spreadShotCount > 0 && canPowerup) { Debug.Log("Player has activated powerup " + powerUp.ToString()); spreadShotCount--; FindObjectOfType <AudioManager>().Play("PowerUp"); spreadShot = true; canPowerup = false; //Affect stats //Start timer FindObjectOfType <TimerController>().StartTime(power_up_duration); } break; default: break; } }
public void AcquirePowerUp(PowerUp powerUp) { // powerUps[powerUp.ToString()] = true; // TODO delete this powerUpsToAcquire.Add(powerUp.ToString()); }