ro-table/Asstes/Resources/Script/FrameWork/GUI/Tips/HRefineAddEffectTip.txt
2025-06-04 05:02:57 +08:00

99 lines
2.5 KiB
Plaintext

autoImport("BaseTip");
HRefineAddEffectTip = class("HRefineAddEffectTip" ,BaseTip)
autoImport("HRefinePosTogCell");
autoImport("HRefineEffectTipCell");
function HRefineAddEffectTip:Init()
self:InitTip();
self.closeTip = self:FindGO("CloseAddTip");
self:AddClickEvent(self.closeTip, function (go)
self:CloseSelf();
end);
self.closecomp = self.gameObject:GetComponent(CloseWhenClickOtherPlace);
self.closecomp.callBack = function (go)
self:CloseSelf();
end
end
function HRefineAddEffectTip:CloseSelf()
if(self.callback)then
self.callback(self.callbackParam);
end
TipsView.Me():HideCurrent();
end
function HRefineAddEffectTip:InitTip()
self.infoScrollView = self:FindComponent("InfoScrollView", UIScrollView);
local effectTip = self:FindGO("HRefineEffectTip");
self.title = self:FindComponent("Label", UILabel, effectTip);
local posGrid = self:FindComponent("PosTogGrid", UIGrid);
self.pogTogCtl = UIGridListCtrl.new(posGrid, HRefinePosTogCell, "HRefinePosTogCell");
self.pogTogCtl:AddEventListener(MouseEvent.MouseClick, self.ClickTog, self);
local showPoses = GameConfig.HighRefine and GameConfig.HighRefine.showPoses or {{7,7}, {5,8}};
local togDatas = {};
for i=1,#showPoses do
table.insert(togDatas, showPoses[i][1]);
end
local refineEffectGrid = self:FindComponent("HRefineInfoGrid", UIGrid);
self.addEffectCtl = UIGridListCtrl.new(refineEffectGrid, HRefineEffectTipCell, "HRefineEffectTipCell");
self.pogTogCtl:ResetDatas(togDatas);
self.togCells = self.pogTogCtl:GetCells();
self:ClickTog(self.togCells[1]);
end
function HRefineAddEffectTip:ClickTog(tog)
self:UpdateEffectInfo(tog.data);
local tCells = self.togCells;
for i=1,#tCells do
tCells[i]:SetTog(tog.data);
end
end
function HRefineAddEffectTip:UpdateEffectInfo(pos)
local datas = {};
for i=1,15 do
local effects = BlackSmithProxy.Instance:GetMyHRefineEffects(pos, nil, i);
local data = {};
data[1] = i;
data[2] = effects[1];
table.insert(datas, data)
end
self.addEffectCtl:ResetDatas(datas);
self.infoScrollView:ResetPosition();
local posName = nil;
if(pos == 1)then
posName = ZhString.HRefineAddEffectTip_Shield;
else
local gConfig = GameConfig.EquipType;
for k,config in pairs(gConfig)do
local sites = config.site;
for i=1,#sites do
if(sites[i] == pos)then
posName = config.name;
break;
end
end
end
end
self.title.text = string.format(ZhString.PackageHighRefine_AddEffectTip, posName);
end
function HRefineAddEffectTip:SetData()
end
function HRefineAddEffectTip:DestroySelf()
GameObject.Destroy(self.gameObject)
end