GGO16 - Day 18

Had a reasonably good evening - nothing finished yet, but I wrote a couple of hundred lines of code for the new CityBlock implementation that will start to bring about a more complex economic system for the game. If I manage to spend a decent amount of time tomorrow I should have the new income system in place with player settable tax rate and some UI to showcase it.

Outcomes

The main outcomes thus fare are field updates on the CityBlock class and a builder pattern implementation for constructing CityBlocks - this is necessary, because they now have around 6 or 7 fields that would be unwieldy to initialise with a constructor. Additionally it's now time to start randomly generating cities, so the builder pattern will help keep some of that complex random initialisation logic out of the CityBlock domain model.

I ran out of steam about an hour ago, so since then I've been sitting and adding random suburb names to a list for random name generation. I'm up to about 44 now and I figure the largest city I'm likely to use would be about 10x10, so I need to add another 66 tomorrow. Suggestions are welcome!

Here's the current list:

        names.Add("Devil's Peak");
        names.Add("Belville");
        names.Add("Goodwood");
        names.Add("Clifton");
        names.Add("Constantia");
        names.Add("Delft");
        names.Add("Atlantis");
        names.Add("Ashcroft");
        names.Add("Avalon");
        names.Add("Beacon Hill");
        names.Add("Brighton");
        names.Add("Brooklyn");
        names.Add("Burwood");
        names.Add("Camden");
        names.Add("Cambridge");
        names.Add("Carlton");
        names.Add("Claymore");
        names.Add("Castle Cove");
        names.Add("Earlwood");
        names.Add("Eastwood");
        names.Add("Enfield");
        names.Add("Fairfield");
        names.Add("Forestville");
        names.Add("Glenfield");
        names.Add("Glenwood");
        names.Add("Gordon");
        names.Add("Grasmere");
        names.Add("Greenacre");
        names.Add("Greendale");
        names.Add("Greenwich");
        names.Add("Hillsdale");
        names.Add("Huntingwood");
        names.Add("Hurstville");
        names.Add("Kellyville");
        names.Add("Kensington");
        names.Add("Kings Park");
        names.Add("Kingsford");
        names.Add("Kingswood");
        names.Add("Kirkham");
        names.Add("Liberty Grove");
        names.Add("Leonay");
        names.Add("Newport");
        names.Add("Northmead");
        names.Add("Northwood");
        names.Add("Northbridge");