/** * 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); }