123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- ---@class KLGemSlateBagPanel:UIKmlLuaPanelBase
- ---@field view KLGemSlateBagPanelView
- local KLGemSlateBagPanel = class(UIKmlLuaPanelBase)
- local this =KLGemSlateBagPanel
- function this:AsyncLoadUI()
- end
- ---创建时调用一次
- function this:Init()
- self:InitData(self.args)
- local bag_info = string.split(SL:GetConfig("cfg_global",6).value,'#')
- self.maxHor = tonumber(bag_info[1])
- self.maxVet = tonumber(bag_info[2])
- ---@type KLUIBagTileScrollViewItem
- GUI:UIPanel_Open("dev/ui/Common/Item/KLUIBagTileScrollView/KLUIBagTileScrollViewItem", self.view.root,self,
- {
- itemList=self.args.itemList,
- id=E_BagTileScrollViewType.GemInLay,
- hor = tonumber(bag_info[1]),
- vet = tonumber(bag_info[2]),
- canDrag = false,
- itemClick = (self.args and self.args.itemClickCallBack),
- callBackUI = self.args.callBackUI},
- true,
- function(bagTileScrollView)
- self.bagTileScrollView = bagTileScrollView
- end)
-
- end
- function this:InitData(data)
- self.x=(data and data.x)or 0
- self.y=(data and data.y)or 0
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.closeBtn, self, self.closeBtn)
- GUI:AddOnClickEvent(self.view.decomposeGem_Btn, self, self.OnClickDecomposeGem_Btn)
- GUI:AddOnClickEvent(self.view.combineGem_Btn, self, self.OnClickCombineGem_Btn)
- GUI:AddOnClickEvent(self.view.combineSlate_Btn, self, self.OnClickCombineSlate_Btn)
- --SL:RegisterLUAEvent(Event.BagInfo_Change, self.BagInfo_Change, self)
- SL:RegisterLUAEvent(LUA_EVENT_REFRESH_GEM_SLATE_INFO, self.BagInfo_Change, self)
-
- end
- ---界面显示时调用一次
- function this:Show()
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- local x = self.x
- local y = self.y
- self.bagType=self.args and self.args.bagType or nil
- if self.bagType==E_GemInlayType.Slate then
- GUI:SetActive(self.view.combineSlate_Btn,true)
- GUI:SetActive(self.view.combineGem_Btn,false)
- else
- GUI:SetActive(self.view.combineSlate_Btn,false)
- GUI:SetActive(self.view.combineGem_Btn,true)
- end
- GUI:setPosition(self.view.root, x, y)
- end
- function this:Close()
- end
- function this:closeBtn()
- GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel")
- GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel")
- GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel")
- end
- ---@param eventData {index:number,item:CommonProtos.Item}[]
- function this:BagInfo_Change(eventId, eventData)
- local itemList={}
- if self.bagType==E_GemInlayType.Gem then
- itemList=self:GetGemItems()
- elseif self.bagType==E_GemInlayType.Slate then
- itemList=self:GetSlateItems()
- end
- self.bagTileScrollView:ClearBagItem()
- self.bagTileScrollView:RefreshItemByItem(itemList)
- -- self.bagTileScrollView:Item_Change(eventData)
- end
-
- function this:GetSlateItems()
- local data = {}
- local bagItemTabl = SL:GetMetaValue("BAG_DATA")[1]
- if bagItemTabl then
- for _, v in pairs(bagItemTabl) do
- if SL:HasConfig("cfg_equip_stoneBoard", v.cfgId, "id") then
- table.insert(data, v)
- end
- end
- end
- return SL.Bag:SortItemList(data)
- end
- function this:GetGemItems()
- local data = {}
- local bagItemTabl = SL:GetMetaValue("BAG_DATA")[1]
- if bagItemTabl then
- for _, v in pairs(bagItemTabl) do
- if SL:HasConfig("cfg_equip_gem", v.cfgId, "id") then
- table.insert(data, v)
- end
- end
- end
- return SL.Bag:SortItemList(data)
- end
- function this:OnClickDecomposeGem_Btn()
- ---@type KLUIForgeGroupPanel
- local tmpUI=GUI:GetUI("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel")
- if tmpUI then
- GUI:Toggle_setIsOn(tmpUI.view.decomposeToggle,true)
- end
- end
- function this:OnClickCombineGem_Btn()
- GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel")
- GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel")
- GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel")
- GUI:UIPanel_Open("dev/outui/UISynthesis/Panel/KLUISynthesis/KLUISynthesisPanel",nil,nil,{})
- end
- function this:OnClickCombineSlate_Btn()
- GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel")
- GUI:UIPanel_Close("dev/outui/Bag/Panel/KLGemSlateBag/KLGemSlateBagPanel")
- GUI:UIPanel_Close("dev/outui/Equip/Panel/KLGemInlay/KLGemInlayPanel")
- GUI:UIPanel_Open("dev/outui/UISynthesis/Panel/KLUISynthesis/KLUISynthesisPanel",nil,nil,{})
- end
- return this
|