I'm trying to design a plugin system to interact with my ECS. My one problem is how to handle systems in the game loop. Currently it's single threaded but I aim to have it be multi-threaded, and either way I need to manage the dependencies and order. The two systems I can think of are:
- Systems register themselves to a list, but the application DLL chooses the order by their name. Additional plugins (mods, etc) can be added either before or after the core game loop
- Systems reference the other systems that need to run before, and so …