This commit is contained in:
MihailRis 2025-11-04 12:13:55 +03:00
parent 9afe265094
commit d163f12e67
3 changed files with 5 additions and 17 deletions

View File

@ -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"

View File

@ -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);
} }

View File

@ -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);