// Update is called once per frame void Update() { if (m_PlayerState.PlayerState != Scr_PlayerStateController.State.BabyBox && !m_PlayerState.IsMomInRoom) { if (Input.GetButtonDown(m_Input.GetUse())) { if (m_HeldPowerup != Scr_PowerUp.Type.Empty) { switch (m_HeldPowerup) { case Scr_PowerUp.Type.ExtraSpeed: gameObject.GetComponent <Scr_CharacterController>().SetSpeed(m_OriginalSpeed * m_SpeedMultiplier); m_MustCountDown = true; m_SpeedParticle.SetActive(true); Debug.Log("Extra Speed Activated!"); break; case Scr_PowerUp.Type.Knockback: gameObject.GetComponent <Scr_Combat>().SetPunchingPower(m_OriginalPunchingPower * m_PunchingPowerMultiplier); m_MustCountDown = true; Debug.Log("Extra Punching power Activated"); m_PowerParticle.SetActive(true); break; case Scr_PowerUp.Type.MultiJump: gameObject.GetComponent <Scr_CharacterController>().SetMaxJumps(m_NrOfJumpsGivenByPowerup); m_MustCountDown = true; Debug.Log("Multi jump Activated"); break; } //Activate powerup countdown } else { Debug.Log("You are not holding a powerup!"); } } } if (m_MustCountDown) { if (m_HeldPowerup != Scr_PowerUp.Type.Empty) { m_PowerupTimer -= Time.deltaTime; } if (m_PowerupTimer <= 0.0f) { ResetPlayerState(); } } }