|
TaskDailyItem = TaskDailyItem or BaseClass(BaseItem)
|
|
TaskDailyItem.Width = 170
|
|
TaskDailyItem.Height = 65
|
|
function TaskDailyItem:__init()
|
|
self.base_file = "task"
|
|
self.layout_file = "TaskDailyItem"
|
|
self.is_delay_callback = true
|
|
self.model = TaskModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function TaskDailyItem:Load_callback()
|
|
|
|
self.icon = self:GetChildImages({
|
|
"Icon",
|
|
})
|
|
|
|
self.name_txt,
|
|
self.progress_txt,
|
|
self.content_txt = self:GetChildTexts({
|
|
"Name",
|
|
"Progress",
|
|
"Content",
|
|
})
|
|
|
|
self.go_btn,
|
|
self.recommend = self:GetChildGameObjects({
|
|
"GoBtn",
|
|
"Recommend",
|
|
})
|
|
|
|
self:InitEvent()
|
|
|
|
if self.need_refreshData then
|
|
self:SetData(self.index,self.info)
|
|
end
|
|
end
|
|
|
|
function TaskDailyItem:InitEvent()
|
|
local function onClickBtnHandler(target)
|
|
if target == self.go_btn then
|
|
if not self.info then
|
|
return
|
|
end
|
|
self:ClickOperation(self.info)
|
|
end
|
|
end
|
|
AddClickEvent(self.go_btn,onClickBtnHandler)
|
|
end
|
|
|
|
function TaskDailyItem:SetData(index,info)
|
|
self.index = index
|
|
self.info = info
|
|
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self.name_txt.text = self.info.str
|
|
|
|
if self.info.id == 1 then
|
|
local total_times = BaseDungeonModel:getInstance():GetDungeonMaxTimes(3001,BaseDungeonModel.DUN_TYPE.EXP)
|
|
local left_times = BaseDungeonModel:getInstance():GetDungeonLeftTimes(BaseDungeonModel.DUN_TYPE.EXP)
|
|
local curr_times = math.max(0,total_times - left_times)
|
|
self.progress_txt.text = string.format("(%d/%d)",curr_times,total_times)
|
|
local exp,level = self.model:GetDoubleExp(self.info.id)
|
|
self.content_txt.text = "预计可提升:"..level.."级"
|
|
elseif self.info.id == 2 then
|
|
local taskInfo = TaskModel:getInstance():GetCircleTaskInfo(TaskType.BOUNTY_LINE)
|
|
if taskInfo then
|
|
if self.model:CanAcceptCircleTask(TaskType.BOUNTY_LINE) then
|
|
self.progress_txt.text = string.format("(%d/%d)",taskInfo.cur_progress,taskInfo.total_progress)
|
|
else
|
|
self.progress_txt.text = string.format("(%d/%d)",taskInfo.cur_progress + 1,taskInfo.total_progress)
|
|
end
|
|
else
|
|
self.progress_txt.text = ""
|
|
end
|
|
local exp,level = self.model:GetDoubleExp(self.info.id)
|
|
self.content_txt.text = "预计可提升:"..level.."级"
|
|
elseif self.info.id == 3 then
|
|
local taskInfo = TaskModel:getInstance():GetCircleTaskInfo(TaskType.GUILD_LINE)
|
|
if taskInfo then
|
|
if self.model:CanAcceptCircleTask(TaskType.GUILD_LINE) then
|
|
self.progress_txt.text = string.format("(%d/%d)",taskInfo.cur_progress,taskInfo.total_progress)
|
|
else
|
|
self.progress_txt.text = string.format("(%d/%d)",taskInfo.cur_progress + 1,taskInfo.total_progress)
|
|
end
|
|
else
|
|
self.progress_txt.text = ""
|
|
end
|
|
local exp,level = self.model:GetDoubleExp(self.info.id)
|
|
self.content_txt.text = "预计可提升:"..level.."级"
|
|
elseif self.info.id == 4 then
|
|
self.progress_txt.text = ""
|
|
local exp,level = self.model:GetDoubleExp(self.info.id)
|
|
self.content_txt.text = "预计可提升:"..level.."级"
|
|
elseif self.info.id == 5 then
|
|
self.progress_txt.text = ""
|
|
self.content_txt.text = "持续挂机,提升等级"
|
|
elseif self.info.id == 6 then
|
|
local total_times = BaseDungeonModel:getInstance():GetDungeonMaxTimes(3110,BaseDungeonModel.DUN_TYPE.EQUIP)
|
|
local left_times = BaseDungeonModel:getInstance():GetDungeonLeftTimes(BaseDungeonModel.DUN_TYPE.EQUIP)
|
|
local curr_times = math.max(0,total_times - left_times)
|
|
self.progress_txt.text = string.format("(%d/%d)",curr_times,total_times)
|
|
local exp,level = self.model:GetDoubleExp(self.info.id)
|
|
end
|
|
lua_resM:setImageSprite(self,self.icon,"activityIcon_asset",self.info.icon_name,false)
|
|
if self.info.show_recommend then
|
|
self.recommend:SetActive(true)
|
|
else
|
|
self.recommend:SetActive(false)
|
|
end
|
|
|
|
self:SetPosition(0,(self.index - 1) * -98)
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function TaskDailyItem:__delete( )
|
|
end
|
|
|
|
--点击选项处理
|
|
function TaskDailyItem:ClickOperation( vo )
|
|
|
|
GlobalEventSystem:Fire(EventName.OPEN_TASK_DAILY_VIEW, false)
|
|
|
|
if vo.id == 1 then
|
|
BaseDungeonModel:getInstance():OpenViewByDunType(BaseDungeonModel.DUN_TYPE.EXP)
|
|
elseif vo.id == 2 then
|
|
self.model:DoBountyTask()
|
|
elseif vo.id == 3 then
|
|
self.model:DoGuildTask()
|
|
elseif vo.id == 4 then
|
|
EscortModel:getInstance():FlyToNpc()
|
|
elseif vo.id == 5 then
|
|
local onHookData = DailyModel:getInstance():GetOnhookConfig()
|
|
if onHookData then
|
|
local pointList = ErlangParser:GetInstance():Parse(onHookData.xy)
|
|
local index = math.random(1, #pointList)
|
|
local randomPoint = pointList[index]
|
|
local x = tonumber(randomPoint[1])
|
|
local y = tonumber(randomPoint[2])
|
|
|
|
local call_back = function ()
|
|
GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
|
|
end
|
|
local findVo = FindVo.New()
|
|
findVo.type = FindVo.POINT
|
|
findVo.sceneId = tonumber(onHookData.scene_id)
|
|
findVo.x = x / SceneObj.LogicRealRatio.x
|
|
findVo.y = y / SceneObj.LogicRealRatio.y
|
|
findVo.call_back = call_back
|
|
findVo.force_change_scene = true
|
|
|
|
GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT)
|
|
GlobalEventSystem:Fire(EventName.FORCE_STOP_DO_TASK)
|
|
Scene.Instance:FindElement(findVo)
|
|
Message.show("正在前往挂机")
|
|
end
|
|
elseif vo.id == 6 then
|
|
BaseDungeonModel:getInstance():OpenViewByDunType(BaseDungeonModel.DUN_TYPE.EQUIP)
|
|
end
|
|
end
|