Add invocation queue to DrivenEngine, use it for lua source
This commit is contained in:
@@ -165,9 +165,9 @@ void DrivenEngine::set_console_prompt(const eng::string &prompt) {
|
||||
console_prompt_ = prompt;
|
||||
}
|
||||
|
||||
eng::string DrivenEngine::get_lua_source_pack() {
|
||||
eng::string result = std::move(lua_source_pack_);
|
||||
lua_source_pack_.clear();
|
||||
eng::vector<UniqueInvocation> DrivenEngine::get_queued_invocations() {
|
||||
eng::vector<UniqueInvocation> result = std::move(queued_invocations_);
|
||||
queued_invocations_.clear();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -392,11 +392,11 @@ bool DrivenEngine::drv_get_stop_driver() const {
|
||||
return stop_driver_;
|
||||
}
|
||||
|
||||
uint64_t DrivenEngine::drv_get_actor_id() const {
|
||||
int64_t DrivenEngine::drv_get_actor_id() const {
|
||||
return visible_actor_id_;
|
||||
}
|
||||
|
||||
void DrivenEngine::drv_get_tangibles_near(uint64_t tanid, double rx, double ry, double rz, uint32_t *count, int64_t **ids) {
|
||||
void DrivenEngine::drv_get_tangibles_near(int64_t tanid, double rx, double ry, double rz, uint32_t *count, int64_t **ids) {
|
||||
uint32_t hash1 = eng::memhash();
|
||||
scan_result_.clear();
|
||||
if ((visible_world_ != 0) && (tanid != 0)) {
|
||||
@@ -483,11 +483,11 @@ void DrivenEngine::drv_invoke_event_update(double clock) {
|
||||
}
|
||||
|
||||
void DrivenEngine::drv_set_lua_source_pack(uint32_t srcpklen, const char *srcpk) {
|
||||
lua_source_pack_ = std::string_view(srcpk, srcpklen);
|
||||
Invocation *inv = new Invocation(Invocation::KIND_LUA_SOURCE, visible_actor_id_, visible_actor_id_, std::string_view(srcpk, srcpklen));
|
||||
queued_invocations_.emplace_back(inv);
|
||||
rescan_lua_source_ = false;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user