Open EwoutH opened 9 months ago
By using Mixin in #4 we might not directly need this as a formal, implemented construct. However, it might be good to implement it anyway, since if we don't, it can accidentally happen that two behaviors modify the same state, both think it means something different.
As I experiment more with behaviours, it seems we need some kind of database of states. Especially if you want to insert an object (agent), that will have some internal properties and states. Those sometimes need to be read and sometimes be updated by an agent (related to #4).
Therefore, we might need some central database of states, which have at least a:
Maybe more.
They also need to be split out between agent states and model states. Also, we might have high-level categories of agents, like Human, (other) Animal, AI, etc.). Should an state always mean the same thing for all agents, or is it allowed to differ between them? (my current guess would be: Have a default for all agents, which can be changed for certain categories).
The big question is how are we properly going to maintain all that, link it to behaviours, etc.
Is this just going to be a giant list? Dictionary? Some more advanced structure?