This PR completes a major overhaul of how UserEvents are processed in the game engine
Rather than doing anything "fancy". CoffeeMaker has a special interface IUserEventListener that any class may implement. The only function that's needed to implement is OnSDLUserEvent. The class need only implement that one method and it will automatically be called each frame when an SDL_UserEvent is in the stack. Upon destruction of the class, it will be removed from the list of listeners.
This PR completes a major overhaul of how UserEvents are processed in the game engine
Rather than doing anything "fancy". CoffeeMaker has a special interface
IUserEventListener
that any class may implement. The only function that's needed to implement isOnSDLUserEvent
. The class need only implement that one method and it will automatically be called each frame when an SDL_UserEvent is in the stack. Upon destruction of the class, it will be removed from the list of listeners.