I've been migrating code across from game1666proto4 fairly rapidly, so I should check the whole project to see that all of the comments etc. still make sense and that I haven't done anything silly.
The way archetypes are treated in the Entity class is a bit odd. Archetypes should exist solely to specify which components are necessary for different types of entity - they don't really need to be stored in the entity afterwards. [FIXED - I'M NOW USING PROTOTYPES INSTEAD, WHICH MEAN SOMETHING]
IEntity seems to have two separate responsibilities - component management and tree management. Perhaps they should be separated at some point.
ModelEntitySpawnMessage isn't being used at the moment - will it actually be necessary in the new version?
The Neighbours function in ModelEntityNavigationNode has been reimplemented but needs checking.
PlaceableComponent.IsValidlyPlaced() contains some commented-out code relating to mobile entities - this will need to be uncommented again once I've reimplemented them. [DONE]
IExternalComponent.Draw() has a dubious-looking default parameter that allows clients to specify an explicit parent entity - I might need to look at this again.
I'm currently hard-coding the various archetypes in ModelEntityFactory - ultimately these should be specified in XML. [DONE]
ModelEntityFactory.MakeSettlement() should add a playing area component to the entity - I need to decide how to create a suitable terrain first though. [THIS HAS NOW CHANGED - I NEED TO ADD A PLAYING AREA COMPONENT TO THE VILLAGE PROTOTYPE INSTEAD]
The Target and TargetComponent methods don't really belong in UIContextExtensions. I might be better off splitting UIContextExtensions into UIEntityExtensions and UIEntityComponentExtensions.
I've been migrating code across from game1666proto4 fairly rapidly, so I should check the whole project to see that all of the comments etc. still make sense and that I haven't done anything silly.
Checked so far:
Dubious things noted: