106 lines
3.6 KiB
Plaintext
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
|