I have a text that displays gold. The gold goes up on an increment, which starts off at 1 gold per second. There is an upgrade button which adds 1 gold per second. Everything works fine, but when I upgrade to 2 gold per second, it goes up every second as “2, 4, 6, 8”. However I am after a different effect, I always want it to go up by 1 gold, but more quickly. So if I have 2 gold per second, I want it to go up by 1 gold every 0.5 second. If I have 5 gold per second, I want it to go up by 1 gold every 1/5 second, however my code is not working. As you can see in my code, I am trying to get InvokeRepeating to execute in intervals of 1/goldPerSecond. Any ideas?
public float gold = 0;
public float goldPerSecond = 1.0f;
void Start(){
AutoGold ();
}
private void AutoGold(){
float interval = 1 / goldPerSecond;
InvokeRepeating ("DisplayGold", 0f, interval);
}
private void DisplayGold(){
Text GoldDisplay = GetComponent<Text> ();
gold += 1;
GoldDisplay.text = "Gold: " + gold;
}