XLua 的async to sync使用步驟

2021-09-28 15:12:55 字數 901 閱讀 7570

1. c#端寫乙個方法,最後乙個需要是callback, 可以支援帶引數

public static void showconfirmbox(string message, string title, actiononfinished = null)
2. 用util.async_to_sync定義乙個lua的變數與c#繫結

local sync_confirm = util.async_to_sync(cs.xluatest.messagebox.showconfirmbox)
3. 呼叫local ret = sync_confirm(message, title), 它的返回值就是1中最後的callback的引數

4. 定義協程方法

local buy = function()

message_box.alert("您餘額不足,請充值!", "餘額提醒")

if message_box.confirm("確認充值10元嗎?", "確認框") then

local r1, r2 = recharge(10)

print('recharge result:', r1, r2)

message_box.alert("充值成功!", "提示")

else

print('cancel')

message_box.alert("取消充值!", "提示")

endprint('recharge finished')

end

5. 啟動協程

util.coroutine_call(buy)

這時候我們定義的showconfirmbox,就相當於是協程階段的乙個步驟,走到這一步就會等待callback才會繼續走下去

xlua學習之路(二)xlua基礎

1.執行字串 xlua.luaenv luaenv new xlua.luaenv luaenv.dostring cs.unityengine.debug.log hello world luaenv.dispose 1 dostring引數為string,可輸入任意合法的lua 本示例在lua裡...

Xlua 學習記錄(一)Xlua 案例學習

有空看了下lua,研究下xlua。筆記如下 void start 1 dostring引數為string,可輸入任意合法的lua 本示例在lua裡呼叫c 的unityengine.debug.log列印了個日誌。2 乙個luaenv例項對應lua虛擬機器,出於開銷的考慮,建議全域性唯一。考慮全域性唯...

xlua 物件導向

lua物件導向設計 儲存類型別的虛表 local class local classname classtype function baseclass classname,super assert type classname string and classname 0 生成乙個類型別 local...