public void GainEnergy(int amountToGain)
    {
        if (currentEnergy + amountToGain > maximumEnergy)
        {
            currentEnergy = maximumEnergy;
        }
        else
        {
            currentEnergy += amountToGain;
        }

        SetEnergyText();
        energyPipManager = configData.GetPlayerEnergyPipManager();
        energyPipManager.ChangeValue(currentEnergy);
    }
    public void SpendEnergy(int amount)
    {
        if (currentEnergy - amount < 0)
        {
            currentEnergy = 0;
        }
        else
        {
            currentEnergy -= amount;
        }

        SetEnergyText();
        energyPipManager = configData.GetPlayerEnergyPipManager();
        energyPipManager.ChangeValue(currentEnergy);
    }
    public void GainHealth(int amountToGain)
    {
        if (currentHealth + amountToGain > maximumHealth)
        {
            currentHealth = maximumHealth;
        }
        else
        {
            currentHealth += amountToGain;
        }

        SetHealthText();
        healthPipManager = configData.GetPlayerHealthPipManager();
        healthPipManager.ChangeValue(currentHealth);
    }
    public void TakeDamage(int amountToTake)
    {
        if (takeExtraDamageMultiplier != 0)
        {
            amountToTake = (int)(amountToTake * takeExtraDamageMultiplier);
            takeExtraDamageMultiplier = 0;
        }

        if (currentHealth - amountToTake > 0)
        {
            currentHealth -= amountToTake;
        }
        else
        {
            // Game over state here
            currentHealth = 0;
        }

        SetHealthText();
        healthPipManager = configData.GetPlayerHealthPipManager();
        healthPipManager.ChangeValue(currentHealth);
    }