|
DialogueTaskBtnItem = DialogueTaskBtnItem or BaseClass(BaseItem)
|
|
local DialogueTaskBtnItem = DialogueTaskBtnItem
|
|
|
|
function DialogueTaskBtnItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "dialogue"
|
|
self.layout_file = "DialogueTaskBtnItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
|
|
self.model = DialogueModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function DialogueTaskBtnItem:Load_callback()
|
|
self.nodes = {
|
|
"btn:obj:img", "name:tmp", "task_type_main:obj", "task_type_reg:obj", "flag:img",
|
|
"bg:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function DialogueTaskBtnItem:AddEvents( )
|
|
local function click_event(target)
|
|
if target == self.bg_obj then
|
|
if self.callback and self.data then
|
|
self.callback(self.data)
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.bg_obj, click_event, 2)
|
|
end
|
|
|
|
function DialogueTaskBtnItem:UpdateView( )
|
|
local task_cfg = ConfigItemMgr.Instance:GetTaskData(self.data.task_id)
|
|
SetAnchoredPosition(self.transform, self.pos.x, self.pos.y)
|
|
local is_main_task = task_cfg.type and task_cfg.type == TaskType.MAIN_LINE
|
|
local color = is_main_task and "#fdffc2" or "#ffffff"
|
|
self.name_tmp.text = HtmlColorTxt( self.data.task_name, color)
|
|
-- self.name_tmp.color = color
|
|
self.task_type_main_obj:SetActive(is_main_task)
|
|
self.task_type_reg_obj:SetActive(not is_main_task)
|
|
-- self.task_type_tmp.text = (task_cfg.type and task_cfg.type == TaskType.MAIN_LINE) and "主" or "支"
|
|
lua_resM:setImageSprite(self, self.btn_img, "dialogue_asset", (task_cfg.type and task_cfg.type == TaskType.MAIN_LINE) and "dialogue_taskbtn_main" or "dialog_taskbtn_regional")
|
|
local flag_img_str = "com_empty"
|
|
-- task_state 0:无 1:有可接任务 2:有未完成的任务 3:有可提交的任务 4:有任务对话
|
|
if self.data.task_state == 3 then
|
|
flag_img_str = "dialog_task_finished_pointfilter"
|
|
lua_resM:setImageSprite(self, self.flag_img, "dialogue_asset", flag_img_str)
|
|
elseif self.data.task_state == 1 then
|
|
flag_img_str = "dialog_task_acceptable_pointfilter"
|
|
lua_resM:setImageSprite(self, self.flag_img, "dialogue_asset", flag_img_str)
|
|
else
|
|
lua_resM:setImageSprite(self, self.flag_img, "uiComponent_asset","com_empty")
|
|
end
|
|
end
|
|
|
|
function DialogueTaskBtnItem:SetData( data, pos, callback )
|
|
self.data = data
|
|
self.pos = pos
|
|
self.callback = callback
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function DialogueTaskBtnItem:__delete( )
|
|
|
|
end
|