153 lines
4.8 KiB
Lua
153 lines
4.8 KiB
Lua
ZhiBaoLaoRenOBJ = Up_BaseClassOBJ:new()
|
|
|
|
ZhiBaoLaoRenOBJ.__cname = "ZhiBaoLaoRenOBJ"
|
|
|
|
-- 配置文件
|
|
ZhiBaoLaoRenOBJ.cfg = {}
|
|
|
|
ZhiBaoLaoRenOBJ.UIfile = "game/B/ZhiBaoLaoRenUI"
|
|
|
|
|
|
function ZhiBaoLaoRenOBJ:updata()
|
|
self.selected_tbl = nil
|
|
self:setviewlist()
|
|
self:chouqu()
|
|
end
|
|
|
|
function ZhiBaoLaoRenOBJ:setviewlist()
|
|
self.selected_id = 0
|
|
|
|
local index = 0
|
|
GUI:removeAllChildren(self.ui.list_Layout)
|
|
for i, v in ipairs(self.cfg or {}) do
|
|
local list_bg = GUI:Image_Create(self.ui.list_Layout, "list_bg" .. i, 0, 0, "res/private/ZhiBaoLaoRenUI/1.png")
|
|
GUI:Win_SetParam(list_bg, #self.cfg - i)
|
|
local bg_zise = GUI:getContentSize(list_bg)
|
|
local list_item = "ItemShow_" .. i
|
|
self.ui[list_item] = GUI:ItemShow_Create(list_bg, list_item, bg_zise.width / 2, bg_zise.height / 2,
|
|
{ index = SL:GetMetaValue("ITEM_INDEX_BY_NAME", v.name), count = 1, look = true, bgVisible = false, color = 0 })
|
|
GUI:setAnchorPoint(self.ui[list_item], 0.50, 0.50)
|
|
local Bag_Num = SL:Get_ITEM_COUNT(v.name) or 0
|
|
|
|
if Bag_Num == 0 then
|
|
GUI:ItemShow_setIconGrey(self.ui[list_item], true)
|
|
else
|
|
----* 双击事件
|
|
GUI:ItemShow_addDoubleEvent(self.ui[list_item], function()
|
|
if self.selected_id > 0 then
|
|
if self.selected_id == i then
|
|
GUI:ItemShow_setItemShowChooseState(self.ui[list_item], false)
|
|
self:chouqu()
|
|
self.selected_id = 0
|
|
return
|
|
else
|
|
GUI:ItemShow_setItemShowChooseState(self.ui["ItemShow_" .. self.selected_id], false)
|
|
end
|
|
end
|
|
|
|
GUI:ItemShow_setItemShowChooseState(self.ui[list_item], true)
|
|
self.selected_id = i
|
|
self.selected_tbl = v
|
|
self:feijie()
|
|
end)
|
|
end
|
|
end
|
|
|
|
GUI:UserUILayout(self.ui.list_Layout, {
|
|
dir = 3,
|
|
addDir = 1,
|
|
gap = { x = 8, y = 4 },
|
|
sortfunc = function(lists)
|
|
table.sort(lists, function(a, b)
|
|
return GUI:Win_GetParam(a) > GUI:Win_GetParam(b)
|
|
end)
|
|
end
|
|
})
|
|
end
|
|
|
|
---*设置抽取至宝
|
|
function ZhiBaoLaoRenOBJ:chouqu()
|
|
GUI:Button_loadTextureNormal(self.ui.Up_btn, "res/private/ZhiBaoLaoRenUI/2.png")
|
|
GUI:Button_loadTexturePressed(self.ui.Up_btn, "res/private/ZhiBaoLaoRenUI/4.png")
|
|
|
|
GUI:removeAllChildren(self.ui.give_Layout)
|
|
hk.reloadItemShow(self.ui.Selected_ItemShow, "先天元石", 30, nil, nil, true)
|
|
GUI:addOnClickEvent(self.ui.Up_btn, function()
|
|
ssrMessage:SubLink(self.__cname .. "_chouqu")
|
|
end)
|
|
end
|
|
|
|
---* 刷新背包材料
|
|
function ZhiBaoLaoRenOBJ:reloadcialiao()
|
|
if GUI:Win_IsNotNull(self._parent) then
|
|
self:chouqu()
|
|
end
|
|
end
|
|
|
|
|
|
|
|
function ZhiBaoLaoRenOBJ:feijie()
|
|
if self.selected_tbl then
|
|
local Bag_Num = SL:Get_ITEM_COUNT(self.selected_tbl.name) or 0
|
|
hk.reloadItemShow(self.ui.Selected_ItemShow, self.selected_tbl.name, 1, nil, nil, true)
|
|
self.give = {
|
|
{
|
|
"先天元石",
|
|
self.selected_tbl.feijie,
|
|
819,
|
|
},
|
|
}
|
|
self:setgiveItem()
|
|
GUI:Button_loadTextureNormal(self.ui.Up_btn, "res/private/ZhiBaoLaoRenUI/5.png")
|
|
GUI:Button_loadTexturePressed(self.ui.Up_btn, "res/private/ZhiBaoLaoRenUI/3.png")
|
|
|
|
GUI:addOnClickEvent(self.ui.Up_btn, function()
|
|
ssrMessage:SubLink(self.__cname .. "_up", self.selected_tbl.index)
|
|
end)
|
|
end
|
|
end
|
|
|
|
---* 注册事件
|
|
function ZhiBaoLaoRenOBJ:EventBind()
|
|
local function ZhiBaoLaoRenOBJ_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, ZhiBaoLaoRenOBJ_bag_del_Reload)
|
|
|
|
|
|
---* 背包刷新变化
|
|
local function ZhiBaoLaoRenOBJ_bag_Reload(data)
|
|
for i, v in ipairs(data.operID or {}) do
|
|
if v.item.StdMode == 301 then
|
|
self:setviewlist()
|
|
self:feijie()
|
|
end
|
|
end
|
|
end
|
|
SL:RegisterLUAEvent(LUA_EVENT_BAG_ITEM_CHANGE, self.__cname, ZhiBaoLaoRenOBJ_bag_Reload)
|
|
|
|
|
|
|
|
--关闭窗口
|
|
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName)
|
|
self:OnClose(widgetName)
|
|
end)
|
|
end
|
|
|
|
--关闭窗口
|
|
function ZhiBaoLaoRenOBJ:OnClose(widgetName)
|
|
if widgetName == self.__cname then
|
|
self:UnRegisterEvent()
|
|
end
|
|
end
|
|
|
|
function ZhiBaoLaoRenOBJ:UnRegisterEvent()
|
|
self.cfg = {}
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_REINLEVEL_CHANGE, self.__cname)
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_BAG_ITEM_CHANGE, self.__cname)
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
|
|
end
|
|
|
|
return ZhiBaoLaoRenOBJ
|