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

55 lines
1.6 KiB
Plaintext

local baseCell = autoImport("BaseCell")
AchievementPreQuestCell = class("AchievementPreQuestCell",baseCell)
function AchievementPreQuestCell:Init()
self:initView()
end
function AchievementPreQuestCell:initView( )
-- body
self.questStatus = self:FindComponent("questStatus",UILabel)
end
function AchievementPreQuestCell:SetData( data )
-- body
local name = data[1].name
local hasAccept,hasSubmit = self:GetQuestType(data)
local questListType = nil
if(hasAccept)then
questListType = SceneQuest_pb.EQUESTLIST_ACCEPT
elseif(hasSubmit)then
questListType = SceneQuest_pb.EQUESTLIST_SUBMIT
end
local statusStr
if(questListType == SceneQuest_pb.EQUESTLIST_SUBMIT)then
statusStr = ZhString.AdventureAchievePage_Finish
self.questStatus.color = LuaColor.black
elseif(questListType == SceneQuest_pb.EQUESTLIST_ACCEPT)then
statusStr = ZhString.AdventureAchievePage_Accept
else
statusStr = ZhString.AdventureAchievePage_UnAccept
end
self.questStatus.text = string.format(ZhString.AdventureAchievePage_PreFinishQuestText,name,statusStr)
end
function AchievementPreQuestCell:GetQuestType(data)
local preAccept
local hasAccept = false
local hasSubmit = false
for i=1,#data do
local single = data[i]
local exsitQuestData = QuestProxy.Instance:getQuestDataByIdAndType(single.id)
if(exsitQuestData)then
-- preAccept = SceneQuest_pb.EQUESTLIST_ACCEPT
hasAccept = true
end
if(not exsitQuestData)then
exsitQuestData = QuestProxy.Instance:getQuestDataByIdAndType(single.id,SceneQuest_pb.EQUESTLIST_SUBMIT)
if(exsitQuestData)then
hasSubmit = true
end
end
end
return hasAccept,hasSubmit
end