147 lines
5.3 KiB
Lua
147 lines
5.3 KiB
Lua
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
|