Move queued invocations down into lpxserver/lpxclient

This commit is contained in:
2024-09-03 22:44:22 -04:00
parent 3ed9a7ee2d
commit a6e68cbb35
4 changed files with 25 additions and 21 deletions

View File

@@ -192,16 +192,20 @@ public:
return true;
}
virtual void event_call_function(InvocationKind kind, int64_t place, std::string_view datapk) {
delayed_invocations_.emplace_back(kind, place, datapk);
}
virtual void event_update() override {
// Get the clock.
double clock = get_clock();
// Execute any queued invocations.
// We just feed these directly into the master model.
eng::vector<UniqueInvocation> invocations = get_queued_invocations();
for (const UniqueInvocation &inv : invocations) {
for (const UniqueInvocation &inv : delayed_invocations_) {
master_->invoke(*inv);
}
delayed_invocations_.clear();
// Check for keyboard input on stdin.
while (true) {