/**
     * Spends a certain amount of a given resource, return value determines if subtraction was successful
     * type refers to which type of resource you are spending
     * amount obviously refers to the amount you are withdrawing
     */
    public bool spendResource(ResourceBuilding.ResourceType type, int amount)
    {
        switch (type)
        {
        case ResourceBuilding.ResourceType.fire:
            if (amount > SaveState.state.fire)
            {
                return(false);
            }
            else
            {
                SaveState.state.fire -= amount;
                return(true);
            }

        case ResourceBuilding.ResourceType.air:
            if (amount > SaveState.state.air)
            {
                return(false);
            }
            else
            {
                SaveState.state.air -= amount;
                return(true);
            }

        case ResourceBuilding.ResourceType.water:
            if (amount > SaveState.state.water)
            {
                return(false);
            }
            else
            {
                SaveState.state.water -= amount;
                return(true);
            }

        case ResourceBuilding.ResourceType.earth:
            if (amount > SaveState.state.earth)
            {
                return(false);
            }
            else
            {
                SaveState.state.earth -= amount;
                return(true);
            }

        default:
            Debug.LogError("ResourceManager => spendResource: Illegal resource type");
            return(false);
        }
    }
    /**
     * Copypasta code for now. make it more modular later
     */
    public bool ResourceGain(int amount, ResourceBuilding.ResourceType type)
    {
        int  dummy;
        bool pay;

        switch (type)
        {
        case ResourceBuilding.ResourceType.fire:
            dummy = SaveState.state.fire;
            pay   = ManageSlider(amount, ref dummy, SaveState.state.maxFire, GetSliderByName("Fire Slider"));
            GetTextByName("FireCount").text = "" + dummy;
            SaveState.state.fire            = dummy;
            break;

        case ResourceBuilding.ResourceType.water:
            dummy = SaveState.state.water;
            pay   = ManageSlider(amount, ref dummy, SaveState.state.maxWater, GetSliderByName("Water Slider"));
            GetTextByName("WaterCount").text = "" + dummy;
            SaveState.state.water            = dummy;
            break;

        case ResourceBuilding.ResourceType.air:
            dummy = SaveState.state.air;
            pay   = ManageSlider(amount, ref dummy, SaveState.state.maxAir, GetSliderByName("Wind Slider"));
            GetTextByName("AirCount").text = "" + dummy;
            SaveState.state.air            = dummy;
            break;

        case ResourceBuilding.ResourceType.earth:
            dummy = SaveState.state.earth;
            pay   = ManageSlider(amount, ref dummy, SaveState.state.maxEarth, GetSliderByName("Earth Slider"));
            GetTextByName("EarthCount").text = "" + dummy;
            SaveState.state.earth            = dummy;
            break;

        default:
            Debug.LogError("ResourceIncrementer: Illegal resource type");
            pay = false;
            break;
        }
        return(pay);
    }