Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Real-time scheduler and event engine with string message handling. #969

Merged
merged 6 commits into from Apr 21, 2015

Conversation

skittles1
Copy link

This is Keen's real-time scheduler and game event engine with modifications to support calling messages by string. Instead of sending a constant which is interpreted by RealTimeCallback, the actual message (@EventStart, @EventEnd, etc) is sent which means the real-time scheduler can call ANY message in any class (e.g. can schedule @StartQormas, and eventually we can schedule a frenzy this way).

The limitation in this system is that the callback messages are called with generic parameter names (these have to be written in kod in advance) so the called message has to handle parameters as parm1, parm2, ... parm15.

The Register messages in the real-time scheduler object can convert non-string input into strings which are saved to call the message back, so sending temp string, the message itself, or a debug string/quote will all result in a valid string being saved.

The workflow is now event ends -> calls @EventEnd in GameEvent -> lets
GameEventEngine know the event is finishing -> calls @EndEvent on the
GameEvent in addition to any cleanup that needs to be done.
Also moved a couple messages to GameEvent so they can be used by any
event.
@skittles1 skittles1 merged commit a4add9a into OpenMeridian:master Apr 21, 2015
@skittles1 skittles1 mentioned this pull request Apr 21, 2015
@skittles1 skittles1 deleted the eventscheduler branch April 29, 2015 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants