- Added basic Needs system, which change conditionally and cause new goals to arise. Needs are the driving force of agent goals
- Added AgentComponentManager which will be the brain of agents. It's strongly tied to Needs. I have not yet hooked it up to PlanComponentManager, so at the moment it doesn't do anything
- Excised Subject Observer from the codebase in favor of compositional, function-pointer-based CallbackContainer. This should reduce multiple inheritance and boilerplate throughout the code while also making behavior more explicit
- Made WorldResourceLocator, which is the code from TestWorldResourceLocator (Galavant-Unreal) made into a module, because I don't think I care for passing that around everywhere
- Fixed building tests where Logging was broken in tiny ways
- Updated Sublime Project with Unreal Debug Editor GDB option
- Added two kit pieces to the Building System draft
- Added PlanComponentManager, which is still WIP but at a stage where it could be used in Galavant-Unreal
- Removed all functions with (void) because apparently that's just a C thing (what I use I work) and is discouraged in C++
- Removed some #ifdef include guards in favor of #pragma once
- Put some earlier code into the Galavant gv namespace
- Fixed a small bug in EntityTypes.cpp where EntityListAppend() was actually prepending (oops!)
- Started writing WorldState. This class is likely to see lots of refactoring
- Tried some geo stuff out in BuildingSystem
I experimented with creating a grid-based kit. I'm no artist, so it looks pretty bad. It's a little tough to imagine what it'd look like in game still, so I'm going to need to art it up a bit to get a better idea.