A follow-up to this suggestion:
http://aurora2.pentarch.org/index.php?topic=11068.msg128302#msg128302I would suggest changing the terraforming so that a target can be set per gas.
....
I've created a little mock-up windows form with code for the Terraforming targets.
I wanted to do something to possibly contribute, so here it is.
The section on the left is the mock UI, while the section on the right is used just to simulate.
The mock up form can be downloaded from the zip. "Mock UI.zip"
Extract anywhere and run the exe.
It doesn't actually interface with Aurora or the Aurora db in any fashion, it is just mock-up.
Code can be found here:
https://github.com/UberWaffe/Aurora4xSuggestionsCode includes unit tests, so if this ever does get used it should be easy to maintain.
See "TerraformMock03.png"
How it works:
You add in terraforming targets by picking the gas from the dropdown, entering a value and clicking Set.
The target is added to the list.
You can add multiple targets.
If you set an existing gas target, the target is updated.
You can delete a gas target by selecting the gas from the dropdown and pressing delete.
To simulate, press the simulate button.
The time and terraform rate are just used. (These would normally come from the Aurora main code. Along with the trigger to calculate.)
Once a target is reached, it will be removed from the list.
You do not have to worry about adding or removing, it will remove gas or add gas as needed to reach the target.
If you terraform more than is needed to reach a target, the excess is applied to the next target in the list. (I.e. if you have lots of terraformers and are doing 30 day ticks.)
Outstanding:
- Tests and code refactor to ensure multiple pops with competing terraforming on the same planet works.
- Code that actually interfaces with DB to get gases and do new table for persisting data.
- Do the code for "Toggle List Type". It is meant to change the lists from columns of words to complete sentences, for accessibility purposes.