2025-06-04 05:02:57 +08:00

126 lines
3.7 KiB
Plaintext

autoImport("RepositoryViewBagPage")
autoImport("RepositoryViewItemPage")
RepositoryView = class("RepositoryView",ContainerView)
RepositoryView.ViewType = UIViewType.NormalLayer
RepositoryView.Tab = {
RepositoryTab = 1,
CommonTab = 2,
}
function RepositoryView:Init(viewObj)
-- 建立面板角色
self.ListenerEvtMap = {};
self.repositoryViewBagPage=self:AddSubView("RepositoryViewBagPage",RepositoryViewBagPage)
self.repositoryViewItemPage=self:AddSubView("RepositoryViewItemPage",RepositoryViewItemPage)
self.chooseEquipIndex = nil;
self:FindObjs()
self:AddEvts()
self:AddViewEvts()
self:InitShow()
end
function RepositoryView:OnEnter()
self.super.OnEnter(self);
self:handleCameraQuestStart()
ServiceItemProxy.Instance:CallOnOffStoreItemCmd(true)
end
function RepositoryView:handleCameraQuestStart()
local npcData = self.viewdata.viewdata.npcdata
if(npcData)then
printRed("RepositoryView handleCameraQuestStart");
self:CameraFocusOnNpc(npcData.assetRole.completeTransform);
end
end
function RepositoryView:OnExit()
ServiceItemProxy.Instance:CallOnOffStoreItemCmd(false)
ServiceItemProxy.Instance:CallBrowsePackage(BagProxy.BagType.Storage)
ServiceItemProxy.Instance:CallBrowsePackage(BagProxy.BagType.PersonalStorage)
self:CameraReset()
TipsView.Me():HideCurrent()
RepositoryView.super.OnExit(self)
end
function RepositoryView:FindObjs()
self.repositoryTab = self:FindGO("RepositoryTab"):GetComponent(UIToggle)
self.commonTab = self:FindGO("CommonTab"):GetComponent(UIToggle)
self.repositoryNum = self:FindGO("RepositoryNum",self.repositoryTab.gameObject):GetComponent(UILabel)
self.commonNum = self:FindGO("CommonNum",self.commonTab.gameObject):GetComponent(UILabel)
end
function RepositoryView:AddEvts()
EventDelegate.Add(self.repositoryTab.onChange, function ()
if self.repositoryTab.value then
self.viewTab = RepositoryView.Tab.RepositoryTab
RepositoryViewProxy.Instance:SetViewTab( self.viewTab )
self.repositoryViewItemPage:InitShow()
self.repositoryViewBagPage:InitShow()
end
end)
EventDelegate.Add(self.commonTab.onChange, function ()
if self.commonTab.value then
self.viewTab = RepositoryView.Tab.CommonTab
RepositoryViewProxy.Instance:SetViewTab( self.viewTab )
self.repositoryViewItemPage:InitShow()
self.repositoryViewBagPage:InitShow()
end
end)
end
function RepositoryView:AddViewEvts()
self:AddListenEvt(ItemEvent.ItemUpdate,self.HandleItemUpdate)
self:AddListenEvt(ItemEvent.ItemReArrage,self.HandleItemReArrage)
self:AddListenEvt(MyselfEvent.LevelUp, self.HandleLevelUp)
end
function RepositoryView:InitShow()
self:UpdateNum()
end
function RepositoryView:HandleItemUpdate(note)
self.repositoryViewBagPage:HandleItemUpdate(note)
self.repositoryViewItemPage:HandleItemUpdate(note)
self:UpdateNum()
end
function RepositoryView:HandleItemReArrage(note)
self.repositoryViewBagPage:HandleItemReArrage(note)
self.repositoryViewItemPage:HandleItemReArrage(note)
end
function RepositoryView:HandleLevelUp(note)
self.repositoryViewBagPage:HandleLevelUp(note)
self.repositoryViewItemPage:HandleLevelUp(note)
end
function RepositoryView:UpdateNum()
local total = #BagProxy.Instance:GetPersonalRepositoryBagData():GetItems(ItemNormalList.TabConfig[1])
local max = BagProxy.Instance:GetBagUpLimit(BagProxy.BagType.PersonalStorage)
if total >= max then
self.repositoryNum.gameObject:SetActive(true)
self.repositoryNum.text = total.."/"..max
else
self.repositoryNum.gameObject:SetActive(false)
end
total = #BagProxy.Instance:GetRepositoryBagData():GetItems(ItemNormalList.TabConfig[1])
max = BagProxy.Instance:GetBagUpLimit(BagProxy.BagType.Storage)
if total >= max then
self.commonNum.gameObject:SetActive(true)
self.commonNum.text = total.."/"..max
else
self.commonNum.gameObject:SetActive(false)
end
end