211 lines
6.3 KiB
Lua
211 lines
6.3 KiB
Lua
ZhuangBeiFenJieOBJ = {}
|
|
|
|
ZhuangBeiFenJieOBJ.__cname = "ZhuangBeiFenJieOBJ"
|
|
|
|
-- 配置文件
|
|
ZhuangBeiFenJieOBJ.cfg = {}
|
|
|
|
ZhuangBeiFenJieOBJ.onlywhere = {
|
|
[3] = true,
|
|
[4] = true,
|
|
[5] = true,
|
|
[6] = true,
|
|
[7] = true,
|
|
[8] = true,
|
|
[10] = true,
|
|
[11] = true,
|
|
}
|
|
|
|
local function ZhuangBeiFenJieOBJ_for()
|
|
local tbl = {}
|
|
for i, v in pairs(SL:Get_STD_ITEMS() or {}) do
|
|
if i >= 50000 then
|
|
if v.Need == 4 and v.NeedLevel <= 5 then
|
|
local where = SL:Get_TIP_POSLIST_BY_STDMODE(v.StdMode, false)[1]
|
|
if ZhuangBeiFenJieOBJ.onlywhere[where] and string.find(v.Name, "废弃", 1, true) == nil and string.find(v.Name, "凡品", 1, true) == nil and string.find(v.Name, "珍品", 1, true) == nil then
|
|
table.insert(tbl, v.Name)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
return tbl
|
|
end
|
|
ZhuangBeiFenJieOBJ.zsequip = ZhuangBeiFenJieOBJ_for()
|
|
|
|
|
|
function ZhuangBeiFenJieOBJ: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/ZhuangBeiFenJieUI")
|
|
|
|
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)
|
|
---* 绑定事件
|
|
self:EventBind()
|
|
|
|
if data and data.cfg then
|
|
self.cfg = data.cfg
|
|
end
|
|
|
|
self.select = nil
|
|
self:all_itme()
|
|
-- self:updata()
|
|
end
|
|
|
|
function ZhuangBeiFenJieOBJ:all_itme()
|
|
-- GUI:ListView_removeAllItems(self.ui.sel_ListView)
|
|
self.id = self.id or nil
|
|
|
|
GUI:removeAllChildren(self.ui.Layout)
|
|
|
|
for i, v in ipairs(self.cfg.list or {}) do
|
|
local list_bg = string.format("all_item_bg_%d", i)
|
|
self.ui[list_bg] = GUI:Image_Create(self.ui.Layout, list_bg, 0.00, 0.00, "res/custom/04/1.png")
|
|
GUI:Win_SetParam(self.ui[list_bg], #self.cfg.list - i)
|
|
|
|
local list_item = "list_item_" .. i
|
|
self.ui[list_item] = GUI:ItemShow_Create(self.ui[list_bg], list_item, 57 / 2 - 2, 57 / 2 + 2,
|
|
{ index = 1, look = true, bgVisible = false, count = 1 })
|
|
|
|
hk.reloadItemShow(self.ui[list_item], v.name, 1, nil, nil, true)
|
|
GUI:setAnchorPoint(self.ui[list_item], 0.50, 0.50)
|
|
|
|
if self.id == i then
|
|
GUI:ItemShow_setItemShowChooseState(self.ui[list_item], true)
|
|
end
|
|
GUI:ItemShow_addDoubleEvent(self.ui[list_item], function()
|
|
if SL:Get_ITEM_COUNT(v.name) > 0 then
|
|
if self.id then
|
|
GUI:ItemShow_setItemShowChooseState(self.ui["list_item_" .. self.id], false)
|
|
end
|
|
GUI:ItemShow_setItemShowChooseState(self.ui[list_item], true)
|
|
self.id = i
|
|
self.select = v.name
|
|
self:updata()
|
|
end
|
|
end)
|
|
end
|
|
|
|
|
|
GUI:UserUILayout(self.ui.Layout, {
|
|
dir = 3,
|
|
addDir = 1,
|
|
interval = 0,
|
|
colnum = 4,
|
|
gap = { x = 5, y = 5 },
|
|
sortfunc = function(lists)
|
|
table.sort(lists, function(a, b)
|
|
return GUI:Win_GetParam(a) > GUI:Win_GetParam(b)
|
|
end)
|
|
end
|
|
})
|
|
end
|
|
|
|
function ZhuangBeiFenJieOBJ:updata()
|
|
if self.select then
|
|
GUI:setVisible(self.ui.select_Item, true)
|
|
self:fjget()
|
|
else
|
|
GUI:setVisible(self.ui.select_Item, false)
|
|
GUI:Text_setString(self.ui.select_Text, "点击上方框选择分解装备")
|
|
GUI:Text_setTextColor(self.ui.select_Text, "#ff0000")
|
|
end
|
|
end
|
|
|
|
function ZhuangBeiFenJieOBJ:fjget()
|
|
if not self.select then
|
|
return
|
|
end
|
|
|
|
local itemIndex = SL:Get_ITEM_INDEX_BY_NAME(self.select)
|
|
|
|
local itemData = SL:Get_ITEM_DATA(itemIndex)
|
|
|
|
if not itemData then
|
|
return
|
|
end
|
|
|
|
if itemData.Need ~= 4 then
|
|
return
|
|
end
|
|
|
|
local NeedLevel = itemData.NeedLevel
|
|
GUI:Text_setString(self.ui.select_Text, string.format("本次分解将消耗:金币x%d", self.cfg.xh[NeedLevel][2]))
|
|
hk.reloadItemShow(self.ui.select_Item, self.select, 1, nil, nil, true)
|
|
GUI:Text_setTextColor(self.ui.select_Text, "#00ff00")
|
|
|
|
local fjGet_cfg = self.cfg.fj[NeedLevel]
|
|
|
|
|
|
GUI:ListView_removeAllItems(self.ui.ListView)
|
|
for i, v in ipairs(fjGet_cfg) do
|
|
local list_bg = string.format("list_bg_%d", i)
|
|
self.ui[list_bg] = GUI:Image_Create(self.ui.ListView, list_bg, 0.00, 0.00, "res/public/1900000651.png")
|
|
|
|
local bg_zise = GUI:getContentSize(self.ui[list_bg])
|
|
|
|
local list_item = string.format("list_item_%d", i)
|
|
self.ui[list_item] = GUI:ItemShow_Create(self.ui[list_bg], list_item, bg_zise.width / 2, bg_zise.height / 2,
|
|
{ count = v[2], index = SL:GetMetaValue("ITEM_INDEX_BY_NAME", v[1]), bgVisible = false, look = true })
|
|
GUI:setAnchorPoint(self.ui[list_item], 0.50, 0.50)
|
|
end
|
|
|
|
GUI:addOnClickEvent(self.ui.Button, function()
|
|
ssrMessage:SubLink("ZhuangBeiFenJieOBJ_up", self.select)
|
|
end)
|
|
end
|
|
|
|
function ZhuangBeiFenJieOBJ:reddot()
|
|
|
|
end
|
|
|
|
---* 注册事件
|
|
function ZhuangBeiFenJieOBJ:EventBind()
|
|
---* 背包 和 货币 物品变化
|
|
local function ZhuangBeiFenJieOBJ_REINLEVELCHANGE(data)
|
|
if GUI:Win_IsNotNull(self._parent) then
|
|
|
|
self:fjget()
|
|
self:all_itme()
|
|
end
|
|
end
|
|
SL:RegisterLUAEvent(LUA_EVENT_BAG_ITEM_CHANGE, self.__cname, ZhuangBeiFenJieOBJ_REINLEVELCHANGE)
|
|
-- SL:RegisterLUAEvent(LUA_EVENT_MONEY_CHANGE, self.__cname, ZhuangBeiFenJieOBJ_REINLEVELCHANGE)
|
|
|
|
--关闭窗口
|
|
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName)
|
|
self:OnClose(widgetName)
|
|
end)
|
|
end
|
|
|
|
--关闭窗口
|
|
function ZhuangBeiFenJieOBJ:OnClose(widgetName)
|
|
if widgetName == self.__cname then
|
|
self:UnRegisterEvent()
|
|
end
|
|
end
|
|
|
|
function ZhuangBeiFenJieOBJ:UnRegisterEvent()
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_BAG_ITEM_CHANGE, self.__cname)
|
|
-- SL:UnRegisterLUAEvent(LUA_EVENT_MONEY_CHANGE, self.__cname)
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
|
|
end
|
|
|
|
return ZhuangBeiFenJieOBJ
|