|
|
GuideIntroduceView = GuideIntroduceView or BaseClass(BaseView)
|
|
local GuideIntroduceView = GuideIntroduceView
|
|
function GuideIntroduceView:__init()
|
|
self.base_file = "guide"
|
|
self.layout_file = "GuideIntroduceView"
|
|
self.layer_name = "Top"
|
|
self.destroy_imm = true
|
|
self.use_background = true
|
|
self.is_set_order_sorting = false
|
|
self.is_set_zdepth = true
|
|
|
|
self.model = GuideModel:getInstance()
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
self.open_callback = function ()
|
|
self:InitView()
|
|
end
|
|
self.close_callback = function ()
|
|
GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK)
|
|
end
|
|
self.destroy_callback = function ()
|
|
self:Clear()
|
|
end
|
|
end
|
|
|
|
function GuideIntroduceView:Open(helpVo)
|
|
self.helpVo = helpVo
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function GuideIntroduceView:Clear()
|
|
self:CancelTimer()
|
|
end
|
|
|
|
function GuideIntroduceView:Close()
|
|
BaseView.Close(self)
|
|
end
|
|
|
|
function GuideIntroduceView:LoadSuccess()
|
|
|
|
self.black_bg,
|
|
self.nameCon = self:GetChildTransforms({
|
|
"Mask",
|
|
"nameCon",
|
|
})
|
|
|
|
self.chapter_name_txt,
|
|
self.sub_chapter_name_txt,
|
|
self.content_txt,
|
|
self.time = self:GetChildTexts({
|
|
"Name",
|
|
"SubName",
|
|
"Content",
|
|
"time",
|
|
})
|
|
|
|
self.jumpBtn
|
|
= GetChildGameObjects(self.transform,
|
|
{
|
|
"jumpBtn",
|
|
})
|
|
|
|
self.black_bg.sizeDelta = Vector2(ScreenWidth,ScreenHeight)
|
|
self.black_bg.gameObject:SetActive(false)
|
|
end
|
|
|
|
function GuideIntroduceView:InitEvent()
|
|
local function onClickHandler(target)
|
|
if target == self.jumpBtn then
|
|
self:Close()
|
|
end
|
|
end
|
|
AddClickEvent(self.jumpBtn, onClickHandler, 2)
|
|
end
|
|
|
|
function GuideIntroduceView:InitView()
|
|
if not self.helpVo then
|
|
return
|
|
end
|
|
self:SetNameImage()
|
|
-- self.chapter_name_txt.text = self.helpVo.chapter or ""
|
|
self.sub_chapter_name_txt.text = self.helpVo.sub_chapter or ""
|
|
self.content_txt.text = Trim(self.helpVo.saying) or ""
|
|
|
|
self.time_num = 5
|
|
self.time.text = "("..self.time_num.."秒后自动关闭)"
|
|
-- local func = function ()
|
|
-- if self._use_delete_method then
|
|
-- return
|
|
-- end
|
|
-- self:CancelTimer()
|
|
-- self:FinishHelp()
|
|
-- self:Close()
|
|
|
|
-- end
|
|
-- self.timer_id = TimerQuest.AddDelayQuest(GlobalTimerQuest, func, self.time_num)
|
|
local function onTimer()
|
|
self.time_num = self.time_num - 1
|
|
self.time.text = "("..self.time_num.."秒后自动关闭)"
|
|
if self.time_num <= 0 then
|
|
self:CancelTimer()
|
|
self:FinishHelp()
|
|
self:Close()
|
|
end
|
|
end
|
|
self.timer_id = GlobalTimerQuest:AddPeriodQuest(onTimer, 1, -1)
|
|
end
|
|
|
|
|
|
function GuideIntroduceView:CancelTimer()
|
|
if self.timer_id then
|
|
TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_id)
|
|
self.timer_id = nil
|
|
end
|
|
end
|
|
|
|
function GuideIntroduceView:FinishHelp( )
|
|
--结束引导
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.SHOW_CHAPTER,1)
|
|
if helpVo then
|
|
GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
|
|
end
|
|
end
|
|
|
|
--设置名字图片
|
|
function GuideIntroduceView:SetNameImage()
|
|
if not self.helpVo then return end
|
|
|
|
-- 这里的chapter默认是 1,2..21..33等罗马数字的这种格式
|
|
if self.helpVo.chapter then
|
|
local vo = self.helpVo.chapter
|
|
-- local vo = "31"
|
|
local num_table = self:GetNumber(vo)
|
|
-- local num_len = string.len(vo)
|
|
local num_len = #num_table
|
|
self.nameCon.sizeDelta = co.TableXY((num_len + 2)*52, self.nameCon.sizeDelta.y)
|
|
local image_root
|
|
local image_icon
|
|
local res = "icon_zj_"
|
|
local first_pos
|
|
image_root = UiFactory.createChild(self.nameCon, UIType.ImageExtend) --先创建 "第" 字
|
|
image_icon = image_root:GetComponent("ImageExtend")
|
|
SetAnchoredPosition(image_root.transform, -(num_len + 2)*52/2 + 26, 0)
|
|
lua_resM:setImageSprite(self, image_icon, "guide_asset", res.."0", true)
|
|
first_pos = -(num_len + 2)*52/2 + 26
|
|
|
|
if num_table then
|
|
for k,v in pairs(num_table) do
|
|
image_root = UiFactory.createChild(self.nameCon, UIType.ImageExtend) --再创建 中间的数字
|
|
image_icon = image_root:GetComponent("ImageExtend")
|
|
first_pos = first_pos + 52
|
|
SetAnchoredPosition(image_root.transform, first_pos, 0)
|
|
lua_resM:setImageSprite(self, image_icon, "guide_asset", res..v, true)
|
|
end
|
|
end
|
|
|
|
image_root = UiFactory.createChild(self.nameCon, UIType.ImageExtend) --最后创建 "章" 字
|
|
image_icon = image_root:GetComponent("ImageExtend")
|
|
SetAnchoredPosition(image_root.transform, (num_len + 2)*52/2 - 26, 0)
|
|
lua_resM:setImageSprite(self, image_icon, "guide_asset", res.."11", true)
|
|
end
|
|
end
|
|
|
|
function GuideIntroduceView:GetNumber(num)
|
|
local num_table = {}
|
|
local num = tonumber(num)
|
|
if num >= 1 and num <= 10 then
|
|
table.insert(num_table, num)
|
|
elseif num > 10 and num <= 19 then
|
|
table.insert(num_table, 10)
|
|
table.insert(num_table, num - 10)
|
|
elseif num > 10 and num <= 99 then
|
|
local ten, unit = math.modf(num/10)
|
|
table.insert(num_table, ten)
|
|
table.insert(num_table, 10)
|
|
table.insert(num_table, unit * 10)
|
|
end
|
|
return num_table
|
|
end
|