ZhuanShengBJ = {} ZhuanShengBJ.__cname = "ZhuanShengBJ" -- 配置文件 ZhuanShengBJ.cfg = {} function ZhuanShengBJ:main(arg1, arg2, arg3, data) local parent = GUI:Win_Create(self.__cname, 0, 0, 0, 0, false, false, true, false) if data and data.npcid then GUI:Win_BindNPC(parent, data.npcid) end GUI:LoadExport(parent, "game/A/ZhuanShengUI") self._parent = parent self.ui = GUI:ui_delegate(parent) --- 窗口初始化居中与动作 ssrUIManager:OpenAlgin(self) --背景图关闭 GUI:addOnClickEvent(self.ui.bg_close, function() GUI:Win_Close(self._parent) end) --关闭按钮背景板关闭 GUI:addOnClickEvent(self.ui.btn_close, function() GUI:Win_Close(self._parent) end) if data and data.cfg then ZhuanShengBJ.cfg = data.cfg end ---* 绑定事件 self:EventBind() self:updata() end function ZhuanShengBJ:updata(level) level = level or tonumber(SL:GetMetaValue("RELEVEL")) GUI:TextAtlas_setString(self.ui.TextAtlas, level) GUI:ListView_removeAllItems(self.ui.d_ListView) if level > 0 then for i, v in ipairs(self.cfg[level].att or {}) do local d_list = string.format("d_list_%d", i) self.ui[d_list] = GUI:RichTextFCOLOR_Create(self.ui.d_ListView, d_list, 0, 0, string.format("<%s:/FCOLOR=246>< %s%s/FCOLOR=250>", v[1], i > 1 and " " or "+ ", v[2]), 180, 16, "#28EF01", 5, nil, nil, { outlineSize = 2, outlineColor = SL:ConvertColorFromHexString("#000000") }) end end GUI:ListView_removeAllItems(self.ui.x_ListView) GUI:removeAllChildren(self.ui.xh_Layout) if level < #self.cfg then for i, v in ipairs(self.cfg[level + 1].att) do local x_list = string.format("x_list_%d", i) self.ui[x_list] = GUI:RichTextFCOLOR_Create(self.ui.x_ListView, x_list, 0, 0, string.format("<%s:/FCOLOR=246>< %s%s/FCOLOR=250>", v[1], i > 1 and " " or "+ ", v[2]), 180, 16, "#28EF01", 5, nil, nil, { outlineSize = 2, outlineColor = SL:ConvertColorFromHexString("#000000") }) end hk.SettingXhShow(self.ui, self.ui.xh_Layout, self.cfg[level + 1].xh, nil, nil, nil, nil, "res/custom/15/1.png", 10, nil, true) if GUI:Win_IsNotNull(self.ui.check_level) then GUI:removeFromParent(self.ui.check_level) end if GUI:Win_IsNotNull(self.ui.jiesuo_level) then GUI:removeFromParent(self.ui.jiesuo_level) end if GUI:Win_IsNotNull(self.ui.diaoji) then GUI:removeFromParent(self.ui.diaoji) end self.ui.check_level = GUI:RichTextFCOLOR_Create(self.ui.img_bg, "check_level", 258, 104, string.format("<当前转生人物等级需达到:/FCOLOR=246><%d级/FCOLOR=250>", self.cfg[level + 1].level), 300, 16, "#28EF01", 5, nil, nil, { outlineSize = 2, outlineColor = SL:ConvertColorFromHexString("#000000") }) GUI:setAnchorPoint(self.ui.check_level, 0.50, 0.00) self.ui.jiesuo_level = GUI:RichTextFCOLOR_Create(self.ui.img_bg, "jiesuo_level", 258, 74, string.format("<转生后人物等级上限可达到:/FCOLOR=246><%d级/FCOLOR=250>", self.cfg[level + 1].level_top), 300, 16, "#28EF01", 5, nil, nil, { outlineSize = 2, outlineColor = SL:ConvertColorFromHexString("#000000") }) GUI:setAnchorPoint(self.ui.jiesuo_level, 0.50, 0.00) self.ui.diaoji = GUI:RichTextFCOLOR_Create(self.ui.img_bg, "diaoji", 258, 44, string.format("<转生后人物等级下降:/FCOLOR=246><%d级/FCOLOR=250>", self.cfg[level + 1].d_l), 300, 16, "#28EF01", 5, nil, nil, { outlineSize = 2, outlineColor = SL:ConvertColorFromHexString("#000000") }) GUI:setAnchorPoint(self.ui.diaoji, 0.50, 0.00) else self.ui.ym = GUI:RichTextFCOLOR_Create(self.ui.x_ListView, "ym", 0, 0, "已满级转生", 180, 16, "#ff0000", 5, nil, nil, { outlineSize = 2, outlineColor = SL:ConvertColorFromHexString("#000000") }) hk.SettingXhShow(self.ui, self.ui.xh_Layout, self.cfg[level].xh, nil, nil, nil, nil, "res/custom/15/1.png", 10, nil, true) end self.xh = SL:CopyData(self.cfg[level < #self.cfg and level + 1 or level].xh) GUI:addOnClickEvent(self.ui.Button, function() ssrMessage:SubLink("ZhuanShengOBJ_up") end) end ------------------------网络消息------------------------ function ZhuanShengBJ:sync(p1, p2, p3, data) ZhuanShengBJ.cfg = data.cfg end ---* 注册事件 function ZhuanShengBJ:EventBind() local function ZhuanShengBJ_bag_del_Reload(data) if GUI:Win_IsNotNull(self._parent) then self:updata(data.currReinLevel) end end SL:RegisterLUAEvent(LUA_EVENT_REINLEVEL_CHANGE, self.__cname, ZhuanShengBJ_bag_del_Reload) --关闭窗口 SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName) self:OnClose(widgetName) end) end --关闭窗口 function ZhuanShengBJ:OnClose(widgetName) if widgetName == self.__cname then self:UnRegisterEvent() end end function ZhuanShengBJ:UnRegisterEvent() self.cfg = {} SL:UnRegisterLUAEvent(LUA_EVENT_REINLEVEL_CHANGE, self.__cname) SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname) end return ZhuanShengBJ