101 lines
3.0 KiB
Plaintext
101 lines
3.0 KiB
Plaintext
autoImport("BaseTip");
|
|
QuestDetailTip = class("QuestDetailTip",BaseTip)
|
|
|
|
local tempColor = LuaColor.white
|
|
function QuestDetailTip:Init()
|
|
self:initView();
|
|
end
|
|
|
|
function QuestDetailTip:initView()
|
|
self.bg = self:FindComponent("Bg",UISprite)
|
|
self.title = self:FindComponent("Title",UILabel)
|
|
self.process = self:FindComponent("Process",UILabel)
|
|
self.Table = self:FindComponent("Table",UITable)
|
|
self.rewardCt = self:FindGO("rewardCt")
|
|
self.rewardTitle = self:FindComponent("rewardTitle",UILabel)
|
|
self.rewardTitle.text = ZhString.QuestDetailTip_Reward
|
|
end
|
|
|
|
function QuestDetailTip:SetData(data)
|
|
self.data = data
|
|
self.title.text = data.traceTitle
|
|
local process = data:getProcessInfo()
|
|
if(process)then
|
|
self:Show(self.process.gameObject)
|
|
local totalNum = process.totalNum or 0
|
|
local curProcess = process.process or 0
|
|
if(process.name)then
|
|
local str = process.name.."("..curProcess.."/"..totalNum..")"
|
|
self.process.text = string.format(ZhString.QuestDetailTip_Process,str)
|
|
else
|
|
local str = "("..curProcess.."/"..totalNum..")"
|
|
self.process.text = string.format(ZhString.QuestDetailTip_Process,str)
|
|
end
|
|
else
|
|
self:Hide(self.process.gameObject)
|
|
end
|
|
|
|
local rewards = data.allrewardid
|
|
if(rewards and #rewards>1)then
|
|
self:initRewardView()
|
|
self:Show(self.rewardCt.gameObject)
|
|
local rewardData = {}
|
|
rewardData.hideline = true
|
|
rewardData.tiplabel = ZhString.QuestDetailTip_MultReward
|
|
self.rewardDetail:SetData(rewardData)
|
|
elseif(rewards and #rewards>0)then
|
|
self:initRewardView()
|
|
self:Show(self.rewardCt.gameObject)
|
|
local rewardData = {};
|
|
rewardData.hideline = true;
|
|
rewardData.label = {};
|
|
local rewardId = rewards[1]
|
|
if rewardId then
|
|
local items = ItemUtil.GetRewardItemIdsByTeamId(rewardId)
|
|
for i=1,#items do
|
|
local item = items[i]
|
|
local str = ""
|
|
if(item.id == 300 )then
|
|
str = "Base x "..item.num
|
|
elseif(item.id ==400)then
|
|
str = "Job x "..item.num
|
|
else
|
|
local itemData = Table_Item[item.id]
|
|
if(itemData)then
|
|
-- printRed(itemData.NameZh,item.num)
|
|
str = string.format("{itemicon=%s} %s x %s",item.id,itemData.NameZh,item.num)
|
|
else
|
|
self:DestroySelf()
|
|
return
|
|
end
|
|
end
|
|
table.insert(rewardData.label, str);
|
|
end
|
|
self.rewardDetail:SetData(rewardData)
|
|
else
|
|
self:DestroySelf()
|
|
return
|
|
end
|
|
else
|
|
self:Hide(self.rewardCt.gameObject)
|
|
end
|
|
self.Table:Reposition()
|
|
local bound = NGUIMath.CalculateRelativeWidgetBounds(self.Table.transform)
|
|
self.bg.height = bound.size.y + 20
|
|
end
|
|
|
|
function QuestDetailTip:initRewardView( )
|
|
-- body
|
|
local obj = self:FindGO("TipLabelCell")
|
|
if(obj)then
|
|
GameObject.DestroyImmediate(obj)
|
|
end
|
|
obj = Game.AssetManager_UI:CreateAsset(ResourcePathHelper.UICell("TipLabelCell"), self.rewardCt.gameObject);
|
|
obj.transform.localPosition = Vector3.zero
|
|
local label = self:FindComponent("Label",UILabel,obj)
|
|
self.rewardDetail = TipLabelCell.new(obj)
|
|
|
|
tempColor:Set(1,1,1,1)
|
|
self.rewardDetail.tiplabel.color = tempColor
|
|
label.color = tempColor
|
|
end |