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.
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.