@@ -14,12 +14,11 @@ namespace
14
14
void SetUp () override
15
15
{
16
16
mLua .protectedCall ([&](LuaUtil::LuaView& view) {
17
- view.sol ()[" callback" ] = [](sol::this_state state, sol::protected_function fn) -> LuaUtil::Callback {
18
- sol::table hiddenData (state, sol::create);
19
- hiddenData[LuaUtil::ScriptsContainer::sScriptIdKey ] = LuaUtil::ScriptId{};
20
- return LuaUtil::Callback{ std::move (fn), hiddenData };
21
- };
22
- view.sol ()[" pass" ] = [&](LuaUtil::Callback callback) { mCb = callback; };
17
+ sol::table hiddenData (view.sol (), sol::create);
18
+ hiddenData[LuaUtil::ScriptsContainer::sScriptIdKey ] = LuaUtil::ScriptId{};
19
+ view.sol ()[" async" ] = LuaUtil::getAsyncPackageInitializer (
20
+ view.sol (), []() { return 0 .; }, []() { return 0 .; })(hiddenData);
21
+ view.sol ()[" pass" ] = [&](const sol::table& t) { mCb = LuaUtil::Callback::fromLua (t); };
23
22
});
24
23
}
25
24
@@ -34,7 +33,7 @@ namespace
34
33
view.sol ().safe_script (R"X(
35
34
local s = 'test'
36
35
coroutine.wrap(function()
37
- pass(callback(function(v) print(s) end))
36
+ pass(async: callback(function(v) print(s) end))
38
37
end)()
39
38
)X" );
40
39
view.sol ().collect_garbage ();
@@ -48,7 +47,7 @@ namespace
48
47
mLua .protectedCall ([&](LuaUtil::LuaView& view) {
49
48
view.sol ().safe_script (R"X(
50
49
coroutine.wrap(function()
51
- pass(callback(function() error('COROUTINE CALLBACK') end))
50
+ pass(async: callback(function() error('COROUTINE CALLBACK') end))
52
51
end)()
53
52
)X" );
54
53
view.sol ().collect_garbage ();
0 commit comments