|
|
-
- 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
|