This is my first time attempting to create a game engine. I came across a theoretical problem and would like to solve it before implementation. Right now I have a WindowSystem
, which opens the window, sets the GL_CONTEXT
, etc. I would like it to be responsible for all things window. Then I have another system that manages input called InputSystem
. Then I have a BehaviorSystem
for game object behavior.
The problem:
Consider a game object representing a menu where it has options to change the resolution/other graphics settings. How can I link these three systems with minimal coupling so that a Behavior
script can close the window? Normally systems interact through components, but there's no component for the window. From what I've read systems shouldn't know about each other. I haven't a clue how I could go about such a scenario.