152 lines
4.3 KiB
Plaintext
152 lines
4.3 KiB
Plaintext
RepositoryViewBagPage = class("RepositoryViewBagPage", SubView)
|
|
|
|
autoImport("ItemNormalList");
|
|
autoImport("RepositoryBagCombineItemCell")
|
|
|
|
function RepositoryViewBagPage:Init()
|
|
self:InitUI();
|
|
end
|
|
|
|
function RepositoryViewBagPage:InitUI()
|
|
self.normalStick = self:FindComponent("NormalStick", UISprite);
|
|
|
|
self.rightBord=self:FindGO("rightBord")
|
|
local listObj = self:FindGO("ItemNormalList",self.rightBord);
|
|
self.itemlist = ItemNormalList.new(listObj,RepositoryBagCombineItemCell)
|
|
self.itemlist:SetScrollPullDownEvent(function ()
|
|
ServiceItemProxy.Instance:CallPackageSort(SceneItem_pb.EPACKTYPE_MAIN);
|
|
end);
|
|
self.itemlist:AddEventListener(ItemEvent.ClickItem, self.ClickItem, self);
|
|
self.itemlist:AddEventListener(ItemEvent.DoubleClickItem, self.DoubleClickItem, self)
|
|
self.itemCells = self.itemlist:GetItemCells();
|
|
|
|
self:UpdateList();
|
|
|
|
self.tip = string.format(ZhString.Repository_storeLv , GameConfig.Item.store_baselv_req )
|
|
end
|
|
|
|
function RepositoryViewBagPage:InitShow()
|
|
self.viewTab = self.container.viewTab
|
|
|
|
self.funcConfigId = 30
|
|
if self.viewTab == RepositoryView.Tab.RepositoryTab then
|
|
self.funcConfigId = 32
|
|
end
|
|
|
|
self:SetCellsLock()
|
|
self.lock = self.viewTab == RepositoryView.Tab.CommonTab and MyselfProxy.Instance:RoleLevel() < GameConfig.Item.store_baselv_req
|
|
end
|
|
|
|
function RepositoryViewBagPage:ClickItem(cellCtl)
|
|
local data = cellCtl and cellCtl.data;
|
|
local go = cellCtl and cellCtl.gameObject;
|
|
local newChooseId = data and data.id or 0;
|
|
if(self.chooseId~=newChooseId)then
|
|
self.chooseId = newChooseId;
|
|
self:ShowRepositoryItemTip(data, {go});
|
|
else
|
|
self.chooseId = 0;
|
|
self:ShowRepositoryItemTip();
|
|
end
|
|
for _,cell in pairs(self.itemCells) do
|
|
cell:SetChooseId(self.chooseId);
|
|
end
|
|
end
|
|
|
|
function RepositoryViewBagPage:DoubleClickItem(cellCtl)
|
|
local data = cellCtl.data
|
|
if data then
|
|
self.chooseId = 0
|
|
self:ShowRepositoryItemTip()
|
|
|
|
if self.viewTab == RepositoryView.Tab.CommonTab then
|
|
FunctionItemFunc.DepositRepositoryEvt(data)
|
|
else
|
|
FunctionItemFunc.PersonalDepositRepositoryEvt(data)
|
|
end
|
|
end
|
|
end
|
|
|
|
function RepositoryViewBagPage:ShowRepositoryItemTip(data, ignoreBounds)
|
|
if(data == nil)then
|
|
self:ShowItemTip();
|
|
return;
|
|
end
|
|
|
|
local callback = function ()
|
|
local itemdata = BagProxy.Instance:GetItemByGuid(self.chooseId)
|
|
if itemdata then
|
|
if self.viewTab == RepositoryView.Tab.CommonTab then
|
|
if itemdata.equipInfo and itemdata.equipInfo.strengthlv>0 then
|
|
MsgManager.ShowMsgByID(2001)
|
|
return
|
|
end
|
|
end
|
|
end
|
|
|
|
self.chooseId = 0;
|
|
for _,cell in pairs(self.itemCells) do
|
|
cell:SetChooseId(self.chooseId);
|
|
end
|
|
end;
|
|
|
|
local sdata = ReusableTable.CreateTable()
|
|
sdata.itemdata = data
|
|
sdata.funcConfig = {self.funcConfigId}
|
|
sdata.ignoreBounds = ignoreBounds
|
|
sdata.callback = callback
|
|
if self.lock then
|
|
sdata.tip = self.tip
|
|
end
|
|
self:ShowItemTip(sdata, self.normalStick, nil, {-180,0});
|
|
ReusableTable.DestroyAndClearTable(sdata)
|
|
end
|
|
|
|
function RepositoryViewBagPage:ShowPrompt()
|
|
local data = self.container.repositoryViewItemPage.itemlist.chooseItemData
|
|
if(data)then
|
|
local index = 1
|
|
for i=1,#GameConfig.ItemPage do
|
|
for j=1,#GameConfig.ItemPage[i].types do
|
|
if(data.staticData.Type==GameConfig.ItemPage[i].types[j])then
|
|
index=index+i
|
|
break
|
|
end
|
|
end
|
|
end
|
|
MsgManager.ShowEightTypeMsgByIDTable(820,{self.container.repositoryViewItemPage.itemlist.chooseItemData.num}
|
|
,self.itemlist.ItemTabLst[index].transform.position,{0,10})
|
|
end
|
|
end
|
|
|
|
function RepositoryViewBagPage:UpdateList(note)
|
|
self.itemlist:UpdateList(true);
|
|
end
|
|
|
|
function RepositoryViewBagPage:HandleItemUpdate(note)
|
|
self:UpdateList(note);
|
|
if(RepositoryViewProxy.Instance.curOperation==RepositoryViewProxy.Operation.WthdrawnRepositoryEvt)then
|
|
RepositoryViewProxy.Instance.curOperation=RepositoryViewProxy.Operation.Default
|
|
end
|
|
self:SetCellsLock()
|
|
end
|
|
|
|
--裝備更新
|
|
function RepositoryViewBagPage:HandleItemReArrage(note)
|
|
AudioUtility.PlayOneShot2D_Path(ResourcePathHelper.AudioSEUI(AudioMap.UI.ReArrage));
|
|
|
|
self:UpdateList();
|
|
self.itemlist:ScrollViewRevert();
|
|
self:SetCellsLock()
|
|
end
|
|
|
|
function RepositoryViewBagPage:HandleLevelUp(note)
|
|
self:SetCellsLock()
|
|
self.lock = self.viewTab == RepositoryView.Tab.CommonTab and MyselfProxy.Instance:RoleLevel() < GameConfig.Item.store_baselv_req
|
|
end
|
|
|
|
function RepositoryViewBagPage:SetCellsLock()
|
|
for i=1,#self.itemCells do
|
|
self.itemCells[i]:SetCellLock()
|
|
end
|
|
end |