| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- GUINetwork = {}
- local cjson = require("cjson")
- local slen = string.len
- local ssplit = string.split
- -- FIXME: server unsupport lua form
- -- function GUINetwork:RegisterMsgHandlerAfterEnterWorld()
- --
- -- local msgType = global.MsgType
- -- LuaRegisterMsgHandler( msgType.MSG_SC_GUI_PROTO_HELPER_RESPONSE, handler( self, self.handle_MSG_SC_GUI_PROTO_HELPER_RESPONSE ) )
- -- end
- -- local function loadLua(param)
- -- if not param or param == "" then
- -- SL:Print("[GUI ERROR] lib996:showformwithcontent luastring is empty")
- -- return false
- -- end
- -- local luaFunc = load(param)
-
- -- if not luaFunc then
- -- SL:Print("[GUI ERROR] lib996:showformwithcontent luastring load error", param)
- -- return false
- -- end
- -- luaFunc()
- -- return true
- -- end
- -- local function loadGUIForm(filename, param)
- -- -- parse param
- -- local winName = nil
- -- local slices = nil
- -- SL.FormParam = {}
- -- if param and param ~= "" then
- -- slices = ssplit(param, "#")
- -- if not slices[1] then
- -- SL:Print("[GUI ERROR] lib996:showformwithcontent load form error, can't find dialog", param)
- -- return false
- -- end
- -- -- dialog name
- -- winName = table.remove(slices, 1)
- -- -- params
- -- for i, v in ipairs(slices) do
- -- SL.FormParam[i] = v
- -- end
- -- end
- -- -- close, if open
- -- local window = GUI:GetWindow(nil, winName)
- -- if window then
- -- GUI:Win_Close(window)
- -- end
-
- -- -- win open
- -- GUI:Win_Open(filename)
- -- end
- -- function GUINetwork:handle_MSG_SC_GUI_PROTO_HELPER_RESPONSE( msg )
- -- local jsonData = ParseRawMsgToJson(msg)
- -- if not jsonData then
- -- SL:Print("[GUI ERROR] lib996:showformwithcontent, json data error")
- -- return
- -- end
- -- local filename = jsonData.filename
- -- local param = jsonData.param
- -- -- 打印,方便查看
- -- SL:Print("[GUI LOG] lib996:showformwithcontent: ", filename, param)
- -- -- 执行lua代码
- -- if not filename or filename == "" then
- -- loadLua(param)
- -- else
- -- loadGUIForm(filename, param)
- -- end
- -- end
- -- function GUINetwork:SendMsg( filename, funcName, param )
- -- if not filename or filename == "" then
- -- SL:Print("[GUI ERROR] SL:SubmitForm filename is empty", filename)
- -- return
- -- end
- -- if not funcName or funcName == "" then
- -- SL:Print("[GUI ERROR] SL:SubmitForm funcName is empty", funcName)
- -- return
- -- end
- -- -- param #隔开
- -- local jsonData =
- -- {
- -- filename = filename,
- -- funcName = funcName,
- -- param = param,
- -- }
- -- local jsonStr = cjson.encode(jsonData)
- -- LuaSendMsg( global.MsgType.MSG_CS_GUI_PROTO_HELPER_REQUEST, 0, 0, 0, 0, jsonStr, slen( jsonStr ) )
- -- end
|