Progress on Foundation of Civilisation is going well! I've implemented the new build interface along with the basic tile-structures found in the concept build!
At the moment - the structures non-functional; as I have not yet added the code dealing with the interactions and functionality of the structures. A major priority moving from the concept build to this prototype build is ensuring that the code is easy to work with and clean. A mistake I made in the concept build was that a lot of elements were hard coded - and often in their own relevant objects, making it tedious if I needed to modify something.
I set about doing this in two ways primarily; using scripts to handle a lot of the aspects that I believe will need a lot of tuning and adjusting - as well as code I believe I will be returning to often as the project goes on; and with the use of Managers. Managers - ranging from BuildManager, BuildingsManager, and ResourceManager up to this point; are simply objects I use to keep certain functionality and variables within. For example; if I wanted to bring up the Build Menu for the player - I simply create the BuildManager. The BuildManager will keep track of the Menu specific information - such as showing Districts or Work-posts. Once the player wants to remove the menu, I simply need to run the return to game script which removes non-relevant UI elements, and remove the BuildManager until it's needed again. This has been working very well to this point; it has meant that I am working slower than previously - due primarily to needing to plan how I to implement things in a way that remain easy to work with and as clean as possible.
The next step is continuing to add the elements to the UI such as building costs, tool-tips and the HUD showing resources and other sub-menu buttons that the player will have available. I have planned out the elements I will need before the project will be more or less similar to the stage the concept build was in - at which point I can begin adding new components to test and play around with!
Until next time,