fix
This commit is contained in:
parent
9afe265094
commit
d163f12e67
@ -198,8 +198,8 @@ function __vc_start_app_script(path)
|
|||||||
error(err)
|
error(err)
|
||||||
end
|
end
|
||||||
local script_env = setmetatable({app = app or __vc_app}, {__index=_G})
|
local script_env = setmetatable({app = app or __vc_app}, {__index=_G})
|
||||||
setfenv(chunk, script_env)
|
chunk = setfenv(chunk, script_env)
|
||||||
return start_coroutine(chunk, path)
|
return __vc_start_coroutine(chunk, path)
|
||||||
end
|
end
|
||||||
|
|
||||||
gui_util = require "core:internal/gui_util"
|
gui_util = require "core:internal/gui_util"
|
||||||
|
|||||||
@ -151,13 +151,10 @@ std::unique_ptr<IClientProjectScript> scripting::load_client_project_script(
|
|||||||
return std::make_unique<LuaProjectScript>(L, std::move(env));
|
return std::make_unique<LuaProjectScript>(L, std::move(env));
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::unique_ptr<Process> start_lua_coroutine(
|
std::unique_ptr<Process> scripting::start_app_script(const io::path& script) {
|
||||||
const io::path& script, const std::string& method
|
|
||||||
) {
|
|
||||||
auto L = lua::get_main_state();
|
auto L = lua::get_main_state();
|
||||||
if (lua::getglobal(L, method)) {
|
if (lua::getglobal(L, "__vc_start_app_script")) {
|
||||||
auto source = io::read_string(script);
|
lua::pushstring(L, script.string());
|
||||||
lua::loadbuffer(L, 0, source, script.name());
|
|
||||||
if (lua::call(L, 1)) {
|
if (lua::call(L, 1)) {
|
||||||
int id = lua::tointeger(L, -1);
|
int id = lua::tointeger(L, -1);
|
||||||
lua::pop(L, 1);
|
lua::pop(L, 1);
|
||||||
@ -168,14 +165,6 @@ static std::unique_ptr<Process> start_lua_coroutine(
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<Process> scripting::start_coroutine(const io::path& script) {
|
|
||||||
return start_lua_coroutine(script, "__vc_start_coroutine");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::unique_ptr<Process> scripting::start_app_script(const io::path& script) {
|
|
||||||
return start_lua_coroutine(script, "__vc_start_app_script");
|
|
||||||
}
|
|
||||||
|
|
||||||
[[nodiscard]] scriptenv scripting::get_root_environment() {
|
[[nodiscard]] scriptenv scripting::get_root_environment() {
|
||||||
return std::make_shared<int>(0);
|
return std::make_shared<int>(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,7 +76,6 @@ namespace scripting {
|
|||||||
const io::path& script
|
const io::path& script
|
||||||
);
|
);
|
||||||
|
|
||||||
std::unique_ptr<Process> start_coroutine(const io::path& script);
|
|
||||||
std::unique_ptr<Process> start_app_script(const io::path& script);
|
std::unique_ptr<Process> start_app_script(const io::path& script);
|
||||||
|
|
||||||
void on_world_load(LevelController* controller);
|
void on_world_load(LevelController* controller);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user