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

106 lines
3.6 KiB
Plaintext

autoImport("BaseTip")
PetAdventureEffTip = class("PetAdventureEffTip", BaseTip)
local funDesc = "(寵物等級+好感度)*地圖適應"
function PetAdventureEffTip:Init()
self:FindObj()
self:InitData()
end
function PetAdventureEffTip:InitData()
self.contextDatas = {};
self.funcDesc.text = GameConfig.PetAdventureMinLimit.funDesc or funDesc
end
function PetAdventureEffTip:FindObj()
self.closecomp = self.gameObject:GetComponent(CloseWhenClickOtherPlace);
local table = self:FindComponent("Table", UITable);
self.funcDesc = self:FindComponent("funcDesc",UILabel)
self.attriCtl = UIGridListCtrl.new(table, TipLabelCell, "TipLabelCell");
self.closecomp.callBack = function (go)
self:CloseSelf();
end
PetAdventureEffTip.super.Init(self);
end
--args[1] refine
--args[2] enchant
--args[3] adventureTitle
--args[4] Astrolabe
--args[5] headwear
--args[6] card
local args = {}
local maxFlag = "(Max)"
function PetAdventureEffTip:SetData(data)
local data = data.itemdata
local maxEffConfig = data.maxEffConfig
self.data=data
if(not self.data)then return end
local strFormat = string.format
local mathFloor = math.floor
TableUtility.TableClear(self.contextDatas);
-- local FuncDescTip = {};
-- FuncDescTip.label = {};
-- FuncDescTip.hideline = true;
-- local cell = "{uiicon=com_icon_mark} "..ZhString.PetAdventure_PetEffFunDesc;
-- table.insert(FuncDescTip.label, strFormat(ZhString.PetAdventure_TipColor,cell));
-- self.contextDatas[#self.contextDatas+1] = FuncDescTip;
for i=1,#self.data do
local petTip = {};
local cellData = self.data[i]
args[7] = mathFloor(cellData.lv*1000)*0.1
args[7] = maxEffConfig[7] and args[7].."%"..maxFlag or args[7].."%"
args[8] = mathFloor(cellData.flv*1000)*0.1
args[8] = maxEffConfig[8] and args[8].."%"..maxFlag or args[8].."%"
args[9] = mathFloor(cellData.area*1000)*0.1
args[9] = maxEffConfig[9] and args[9].."%"..maxFlag or args[9].."%"
local lab = strFormat(ZhString.PetAdventure_PetEffTips,cellData.name,args[7],args[8],args[9])
petTip.label = strFormat(ZhString.PetAdventure_TipColor,lab)
petTip.hideline = true;
self.contextDatas[#self.contextDatas+1] = petTip;
end
if(self.data.role)then
local roletip = {}
local data = self.data.role
args[1] = mathFloor(data.refineEff*1000)*0.1
args[1] = maxEffConfig[1] and args[1].."%"..maxFlag or args[1].."%"
args[2] = mathFloor(data.enchantEff*1000)*0.1
args[2] = maxEffConfig[2] and args[2].."%"..maxFlag or args[2].."%"
args[3] = mathFloor(data.AstrolabeEff*1000)*0.1
args[3] = maxEffConfig[3] and args[3].."%"..maxFlag or args[3].."%"
args[4] = mathFloor(data.adventureTitleEff*1000)*0.1
args[4] = maxEffConfig[4] and args[4].."%"..maxFlag or args[4].."%"
args[5] = mathFloor(data.cardEff*1000)*0.1
args[5] = maxEffConfig[5] and args[5].."%"..maxFlag or args[5].."%"
args[6] = mathFloor(data.headwearEff*1000)*0.1
args[6] = maxEffConfig[6] and args[6].."%"..maxFlag or args[6].."%"
local lab = strFormat(ZhString.PetAdventure_RoleTip,args[1],args[2],args[3],args[4],args[5],args[6])
roletip.label = strFormat(ZhString.PetAdventure_TipColor,lab)
roletip.hideline = true;
self.contextDatas[#self.contextDatas+1] = roletip;
end
self.attriCtl:ResetDatas(self.contextDatas);
end
function PetAdventureEffTip:AddIgnoreBounds(obj)
if(self.gameObject and self.closecomp)then
self.closecomp:AddTarget(obj.transform);
end
end
function PetAdventureEffTip:CloseSelf()
if(self.callback)then
self.callback(self.callbackParam);
end
TipsView.Me():HideCurrent();
end
function PetAdventureEffTip:DestroySelf()
if(not Slua.IsNull(self.gameObject))then
GameObject.Destroy(self.gameObject);
end
end