80 lines
2.2 KiB
Plaintext
80 lines
2.2 KiB
Plaintext
PackageSetQuickPage = class("PackageSetQuickPage", SubMediatorView);
|
|
|
|
autoImport("SetQuickItemCell");
|
|
|
|
function PackageSetQuickPage:Init()
|
|
self:AddViewEvts();
|
|
self:InitUI();
|
|
end
|
|
|
|
function PackageSetQuickPage:InitUI()
|
|
-- 初始化快捷欄
|
|
local quickUseGrid = self:FindComponent("QuickUseGrid", UIGridEx);
|
|
self.quickUseItem = {};
|
|
for i=1,10 do
|
|
local obj = self:LoadPreferb("cell/SetQuickItemCell", quickUseGrid.gameObject);
|
|
obj.name = "SetQuickItemCell"..i;
|
|
self.quickUseItem[i] = SetQuickItemCell.new(obj);
|
|
self.quickUseItem[i]:SetQuickPos(i);
|
|
self.quickUseItem[i]:AddEventListener(SetQuickItemCell.SwapObj, self.SetQuickUseItem, self);
|
|
end
|
|
quickUseGrid:Reposition();
|
|
end
|
|
|
|
function PackageSetQuickPage:OnEnter()
|
|
PackageSetQuickPage.super.OnEnter(self);
|
|
|
|
self:UpdateQuickUse();
|
|
end
|
|
|
|
function PackageSetQuickPage:SetQuickUseItem(param)
|
|
self.SetQuickUseFunc(param);
|
|
end
|
|
|
|
-- 設定快捷欄快捷鍵 func
|
|
function PackageSetQuickPage.SetQuickUseFunc(param)
|
|
local surcData = param.surce.itemdata;
|
|
local surcPos = param.surce.pos;
|
|
local targetPos = param.target.pos;
|
|
local keys = {};
|
|
local key = {
|
|
guid = surcData.id,
|
|
type = surcData.staticData.id,
|
|
pos = targetPos-1,
|
|
};
|
|
table.insert(keys, key);
|
|
-- 如果surcPos有值 則該值是快捷欄位互換
|
|
if(surcPos)then
|
|
-- 在快捷欄互換情況下 目標快捷欄有數值
|
|
local targetData = param.target.data;
|
|
local targetId, typeId;
|
|
if(targetData)then
|
|
targetId = targetData.id;
|
|
typeId = targetData.staticData.id;
|
|
end
|
|
local key2 = {
|
|
guid = targetId,
|
|
type = typeId,
|
|
pos = surcPos-1,
|
|
};
|
|
table.insert(keys, key2);
|
|
end
|
|
for i=1,#keys do
|
|
ServiceNUserProxy.Instance:CallPutShortcut(keys[i]);
|
|
end
|
|
end
|
|
|
|
-- 快捷欄更新
|
|
function PackageSetQuickPage:UpdateQuickUse()
|
|
local quickUseItems = ShortCutProxy.Instance:GetShorCutItem(true);
|
|
for i=1,#self.quickUseItem do
|
|
local cell = self.quickUseItem[i];
|
|
cell:SetData(quickUseItems[i]);
|
|
end
|
|
end
|
|
|
|
function PackageSetQuickPage:AddViewEvts()
|
|
self:AddListenEvt(ItemEvent.ItemUpdate,self.UpdateQuickUse);
|
|
self:AddListenEvt(ServiceEvent.NUserPutShortcut,self.UpdateQuickUse);
|
|
self:AddListenEvt(MyselfEvent.ResetHpShortCut,self.UpdateQuickUse);
|
|
end |