|
|
-
- GuidePromptView = GuidePromptView or BaseClass(BaseView)
- local GuidePromptView = GuidePromptView
-
- GuidePromptView.ArrowDir =
- {
- Right = 1,
- Left = 2,
- Bottom = 3,
- Top = 4,
- LeftBottom = 5,
- RightBottom = 6,
- LeftTop = 7,
- RightTop = 8,
- }
-
- function GuidePromptView:__init()
- self.base_file = "guide"
- self.layout_file = "GuidePromptView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = false
- self.append_to_ctl_queue = false
- self.change_scene_close = true
- self.open_wnd_anim = 0
- self.force_no_ctl_queue = true
- self.model = GuideModel:getInstance()
- --self.use_local_view = true
-
- self:AddPreLoadList("common", {"ArrowComponent"})
-
- self.is_set_zdepth = true
- self.is_show_prompt = true
-
- self.x = 0
- self.y = 0
- self.w = 0
- self.h = 0
-
- self.alpha_value = 0.6
-
- self.load_callback = function ()
- self.gameObject:SetActive(false)
- self:LoadSuccess()
- self:InitEvent()
- end
- self.open_callback = function ()
- if UnityEngine.Transform.Equals(self.attch_node,nil) then
- return
- end
-
- self.model:SetPromptViewOpenState(true)
- self:InitView()
-
- if self.z_depth then
- UIDepth.SetUIDepth(self.transform.gameObject,true, self.z_depth)
- end
- end
- self.close_callback = function ()
- self.model:SetPromptViewOpenState(false)
- self:Clear()
- end
- self.destroy_callback = function ()
- end
- end
-
- --attch_node 用于计算 挂载点的相对位置
- --ui_attach_node 当前view的挂载点
- function GuidePromptView:Open(attch_node,ui_attach_node,call_back,helpVo,view_layout_file,layer_name, z_depth)
- if UnityEngine.Transform.Equals(attch_node,nil) then
- return
- end
- self.time_diff = 10 --定时器时间
- self.attch_node = attch_node
- self.ui_attach_node = ui_attach_node
- self.call_back = call_back
- self.help_type = helpVo.help_type
- self.step = helpVo.step
- self.helpVo = helpVo
- self.time_diff = helpVo.time_diff or self.time_diff
- self.layer_name = layer_name or "Activity"
- self.view_layout_file = view_layout_file
- self.z_depth = z_depth
- BaseView.Open(self)
- end
-
- function GuidePromptView:Clear()
- if self.item_event_id then
- GlobalEventSystem:UnBind(self.item_event_id)
- self.item_event_id = nil
- end
-
- self:DeleteArrowTip()
- self:StopTimer()
- self:CancelLeaveTimer()
- self:StopAnim()
- end
-
- function GuidePromptView:InitView()
-
- self.transform:SetParent(self.ui_attach_node)
- SetLocalScale(self.transform)
- print("tanar: [GuidePromptView 84]=> self.help_type: ",self.help_type)
- self:SetFocusPointMsg(self.attch_node)
- self:DeleteArrowTip()
- self:StopTimer()
-
- if self.help_type == HelpType.DO_MAIN_TASK then
- self:DoMainTaskPrompt()
- elseif self.help_type == HelpType.TASK_SELECT then
- self:TaskSelectPrompt()
- elseif self.help_type == HelpType.TYPE_LIGHT then
- self:TypeLightPrompt()
- elseif self.help_type == HelpType.TYPE_SUIT_COLLECT then
- self:TypeSuitCollectPrompt()
- elseif self.help_type == HelpType.TYPE_HORSE then
- self:TypeHorsePrompt()
- elseif self.help_type == HelpType.TYPE_DUNGEON then
- self:TypeDunGeonPrompt()
- elseif self.help_type == HelpType.TYPE_PEARL then
- self:TypePearlPrompt()
- elseif self.help_type == HelpType.TYPE_EQUIP_STRENGTH then
- self:TypeEquipStrengthlPrompt()
- elseif self.help_type == HelpType.TYPE_JARVIS then
- self:TypeJarvisPrompt()
- elseif self.help_type == HelpType.TYPE_PKRANK then
- self:TypePkrankPrompt()
- elseif self.help_type == HelpType.TYPE_DAILY then
- self:TypeDailyPrompt()
- elseif self.help_type == HelpType.TYPE_EXP_DUNGEON then
- self:TypeExpDungeonPrompt()
- elseif self.help_type == HelpType.TYPE_EQUIP_SUIT_ACTIVE then
- self:TypeEquipSuitActivePrompt()
- elseif self.help_type == HelpType.OPEN_LIST_SHOW_PROMPT then
- self:ListPrompt()
- elseif self.help_type == HelpType.NEWER_TASK_AWARD_UNLOCK then
- self:NewerTaskAwardPromt()
- elseif self.help_type == HelpType.TYPE_SPECIAL_PEARL then
- self:TypeSpecialPearlPrompt()
- elseif self.help_type == HelpType.TYPE_TOWER then
- self:TypeTowerPrompt()
- elseif self.help_type == HelpType.TYPE_BOSS or self.help_type == HelpType.TYPE_MONEY_BOSS then
- self:TypeBossPrompt()
- elseif self.help_type == HelpType.TYPE_EXTENSION_LINE_TASK then
- self:TypeExtensionLineTaskPrompt()
- elseif self.help_type == HelpType.TYPE_EXTENSION_LINE_TASK_FINISH then
- self:TypeExtensionLineTaskFinshPrompt()
- elseif self.help_type == HelpType.TYPE_GUILD then
- self:TypeGuildPrompt()
- elseif self.help_type == HelpType.TYPE_WAR_SOUL then
- self:TypeWarSoulPrompt()
- elseif self.help_type == HelpType.TYPE_EQUIP_COLLECT_ONE then
- self:TypeEquipCollectOnePrompt()
- elseif self.help_type == HelpType.TYPE_EQUIP_COLLECT_TWO then
- self:TypeEquipCollectTwoPrompt()
- elseif self.help_type == HelpType.GUILD_CSGR_COLLECT then
- self:TypeGuildCSGRCollect()
- elseif self.help_type == HelpType.MATE_CHANGE_NAME then
- self:TypeMateChangeName()
- elseif self.help_type == HelpType.MONEY_BOSS_FIRST_IN then
- self:TypeMoneyBossFirstIn()
- elseif self.help_type == HelpType.TYPE_EQUIP_COLLECT_ONE_CLOSE then
- self:TypeEquipCollectClosePrompt()
- elseif self.help_type == HelpType.TYPE_NEW_MAIN_LINE_TASK then
- self:TypeNewMainLinePrompt()
- elseif self.help_type == HelpType.TYPE_PSIONIC then
- self:TypePsionicPrompt()
- elseif self.help_type == HelpType.VIP_ANGRY_SKILL_PLAY then
- self:TypeVIPSkillPrompt()
- elseif self.help_type == HelpType.TYPE_EQUIP_RED then
- self:TypeEquipRedPrompt()
- elseif self.help_type == HelpType.DESERTED_BOSS_MON then
- self:TypeDesertecBoss()
- elseif self.help_type == HelpType.BABYDUN_ACTIVATED_SKILL then
- self:TypeBabydunActivatedSkill()
- elseif self.help_type == HelpType.TYPE_CLOTHE_FACTORY then
- self:TypeClotheFactory()
- elseif self.help_type == HelpType.GUILD_SPEED_ACT_CLICK then--社团快速点击
- self:TypeGuildSpeedAct()
- elseif self.help_type == HelpType.TYPE_MAIN_LINE_DUNGEON then
- self:TypeMainLineDungeonPrompt()
- elseif self.help_type == HelpType.TYPE_MAIN_PLOT_DUNGEON_SWEEP_TIPS then
- self:TypeMainPlotdungeonSweepPrompt()
- elseif self.help_type == HelpType.LIFELONG_MARKET_OPEN_TYPE then
- self:TypeMarketOpen()
- elseif self.help_type == HelpType.LIFELONG_MARKET_SELL_TYPE then
- self:TypeMarketSell()
- elseif self.help_type == HelpType.LIFELONG_EQUIP_EVOLVE_TYPE then
- self:TypeEquipEvolve()
- elseif self.help_type == HelpType.TYPE_SHOW_FIGHT_UP_TIPS then
- self:TypeShowFightUpTips()
- elseif self.help_type == HelpType.LIFELONG_ELITE_ASSESS_TYPE then
- self:TypeEliteAssess()
- elseif self.help_type == HelpType.LIFELONG_SERVEN_TARGET_TYPE then
- self:TypeServenTarget()
- else
- self:CommonPrompt()
- end
- end
-
-
- function GuidePromptView:LoadSuccess()
- self.contentCon,
- self.border,
- self.focus_point,
- self.roleImage
- = GetChildTransforms(self.transform,
- {
- "Border/Content",
- "Border",
- "FocusPoint",
- "Border/RoleImage",
- })
-
- self.effect,
- self.click_btn = self:GetChildGameObjects({
- "Effect",
- "Border/ClickBtn"
- })
-
- self.content = self:GetChild("Border/Content"):GetComponent("TMPro.TextMeshProUGUI")
- self.sayer = self:GetChild("Border/Sayer"):GetComponent("TMPro.TextMeshProUGUI")
- local nodes = {
- "Border2/anim_root/Content2:tmp",
- "Border:obj",
- "Border2:obj",
- "Border2/anim_root/ClickBtn2:obj",
- "Border2/anim_root/arrow_dir_root:obj",
- "Border2/anim_root",
- }
- self:GetChildren(nodes)
-
-
- self.effect:SetActive(true)
- end
-
-
- function GuidePromptView:InitEvent()
- local onItemDel = function ( item_name,layout_file)
- if self._use_delete_method then return end
- if not IsNull(self.ui_attach_node) and self.ui_attach_node.name and self.ui_attach_node.name==item_name then --有些BaseItem销毁了,但是没有先关闭此界面,导致报错
- self:Close()
- end
- end
- self.item_event_id = GlobalEventSystem:Bind(EventName.BASE_ITEM_DELETE, onItemDel)
-
- local function clickFunc(target)
- if target == self.click_btn or target == self.ClickBtn2_obj then
- if self.call_back then
- self.call_back()
- end
- end
- end
- AddClickEvent(self.click_btn,clickFunc)
- AddClickEvent(self.ClickBtn2_obj,clickFunc)
-
- end
-
- function GuidePromptView:ShowArrow(dir,x,y,ignore_focus)
- local show_type = self.helpVo.show_type == nil and 1 or 2
- if self.arrow_tip == nil then
- self.arrow_tip = ArrowComponent.New(self.transform)
- self.arrow_tip:SetArrowType(show_type)
- end
- local depth = self:GetCurrLayerDepth("Top")
- if ignore_focus then
- self.arrow_tip:ShowArrow(dir,co.TableXY(x,y),depth)
- else
- self.arrow_tip:ShowArrow(dir,co.TableXY(self.x + x,self.y + y),depth)
- end
- end
-
- function GuidePromptView:ShowBubble(x,y,ignore_focus,size,pos,content, role_img_size, role_img_pos,content_sizeDelta, arrow_tip_dir)
-
- local helpVo = self.helpVo
-
-
- if helpVo.task_id == HelpType.SHOW_NEW_MAIN_LINE_TIP_ID then
- local main_task = TaskModel.getInstance():GetMainTask()
- if main_task and RoleManager.Instance.mainRoleInfo.level >= main_task.level then
- helpVo.saying = "继续主线任务吧"
- else
- helpVo.saying = "推荐完成任务"
- end
- end
-
- local sayer = Trim(helpVo.sayer) or ""
- local saying = Trim(helpVo.saying) or ""
- local show_type = helpVo.show_type == nil and 1 or 2
- local show_focus = helpVo.show_focus == nil and true or helpVo.show_focus
- local show_timer = helpVo.show_timer or false
- local str = content or "(<color=#14e64a>%d秒</color>后自动继续)"
- local delay_show = helpVo.delay_show
- local effect_pos = helpVo.effect_pos and Vector3.New(helpVo.effect_pos.x, helpVo.effect_pos.y, helpVo.effect_pos.z or 0) or Vector3.New(0, 0, 0)
- if show_focus then
- local layer_name = self.layer_name
- if layer_name == "Top" then
- layer_name = "UpTop"
- end
- self:AddUIEffect("ui_jujiaodianji", self.attch_node.transform, layer_name, effect_pos, 1, true)
- end
- self.arrow_tip_dir = arrow_tip_dir
-
- if show_type == 1 then
- self.Border_obj:SetActive(true)
- self.Border2_obj:SetActive(false)
-
- elseif show_type == 2 then
- self.Border_obj:SetActive(false)
- self.Border2_obj:SetActive(true)
- if ignore_focus then
- self.Border2.localPosition = Vector3(x,y,0)
- else
- self.Border2.localPosition = Vector3(self.x + x,self.y + y,0)
- end
- local font_size = helpVo.font_size or 20
- if saying ~= "" then
- saying = string.gsub(saying, "@n@", "\n")
- self.Content2_tmp.text = saying
- else
- self.Content2_tmp.text = "点击完成"
- end
- self.Content2_tmp.fontSize = font_size
- else
- self.Border_obj:SetActive(false)
- self.Border2_obj:SetActive(false)
- return
- end
- if saying ~= "" and show_type == 1 then
- saying = string.gsub(saying, "@n@", "\n")
- -- self.sayer.text = sayer
- self.border.gameObject:SetActive(true)
- if size then
- self.border.sizeDelta = size
- if role_img_size then
- self.roleImage.sizeDelta = role_img_size
- end
- if role_img_pos then
- self.roleImage.localPosition = role_img_pos
- end
- end
-
- if content_sizeDelta then
- self.content.transform.sizeDelta = content_sizeDelta
- end
-
- -- local hide_timer = "hide_timer" -- Trim(self.helpVo.param)
- -- if hide_timer == "hide_timer" then
- if show_timer then
- self.content.text = saying .. string.format(str,self.time_diff)
- self:StartTimer(content)
- else
- self.content.text = saying
- end
-
- local width = self.content.preferredWidth
- local height = self.content.preferredHeight
- local sizeDelta = self.border.sizeDelta
-
- if ignore_focus then
- self.border.localPosition = Vector3(x,y,0)
- else
- self.border.localPosition = Vector3(self.x + x,self.y + y,0)
- end
- if pos then
- self.contentCon.localPosition = pos
- else
- --如果是一行 则居中显示
- local x = width < 280 and (-width / 2 + 38) or -80
- --self.contentCon.localPosition = Vector3(x ,height / 2 + sizeDelta.y / 2,0)
- end
-
- if not size then
- if role_img_size then
- self.roleImage.sizeDelta = role_img_size
- end
- if role_img_pos then
- self.roleImage.localPosition = role_img_pos
- end
- end
- else
- self.border.gameObject:SetActive(false)
- end
-
- if self.delay_timer then
- GlobalTimerQuest:CancelQuest(self.delay_timer)
- self.delay_timer = nil
- end
- if delay_show then
- local function delay_func( )
- if not IsNull(self.gameObject) then
- self.gameObject:SetActive(true)
- end
- end
- if not self.delay_timer then
- self.delay_timer = GlobalTimerQuest:AddDelayQuest(delay_func,delay_show)
- end
- end
- if self.arrow_tip_dir then
- self:StartAnim()
- else
- self:StopAnim()
- end
- end
-
- function GuidePromptView:ShowEffect(x,y,scale,effect_name)
- x = x or 0
- y = y or 0
- local effect = newObject(self.effect)
- effect.transform:SetParent(self.transform)
- effect.transform.localScale = Vector3.one
- effect.transform.localPosition = Vector3(x,y,0)
- scale = scale or co.TableXY(1,1)
- effect_name = effect_name or "ui_anniu_6"
- local layer_name = self.layer_name
- if layer_name == "Top" then
- layer_name = "UpTop"
- end
- self:AddUIEffect(effect_name,effect.transform, layer_name, nil, scale, true, nil, nil,nil)
- end
-
-
- --获取聚焦点的信息
- function GuidePromptView:SetFocusPointMsg(attch_node,w,h,x_offset,y_offset)
- if UnityEngine.Transform.Equals(attch_node,nil) then
- self:Close()
- return
- end
- if attch_node == nil or self.transform==nil then
- return
- end
- self.focus_point:SetParent(attch_node)
- self.focus_point.localPosition = Vector3(0,0,0)
- self.focus_point:SetParent(self.transform)
- self.x = self.focus_point.localPosition.x + (x_offset or 0)
- self.y = self.focus_point.localPosition.y + (y_offset or 0)
- end
-
- function GuidePromptView:SetDefaultFocusPoint()
- self.x = 0
- self.y = 0
- self.w = 0
- self.h = 0
- end
-
- function GuidePromptView:SetDepth(layer)
- if self.transform and layer then
- self.transform.gameObject:GetComponent("Canvas").sortingOrder = layer
- end
- end
-
- function GuidePromptView:CommonPrompt()
- if self.step == 2 then
- self:ShowArrow(1,-130,0)
- self:ShowBubble(-460,-50)
- elseif self.step == 3 then
- self:ShowArrow(1,-130,0)
- self:ShowBubble(-460,-50)
- elseif self.step == 4 then
- self:ShowArrow(1,-80,0)
- self:ShowBubble(-252,-155)
- end
- end
- function GuidePromptView:DoMainTaskPrompt( )
- if self.step == 1 then
- self:ShowBubble(-320,65)
- self:ShowArrow(6,-100,50)
- end
- end
-
- function GuidePromptView:TaskSelectPrompt( )
- if self.step == 1 then
- self:ShowBubble(-220,50)
- self:ShowArrow(6,0,10)
- end
- end
-
-
- function GuidePromptView:TypeLightPrompt( )
- if self.step == 3 then
- self:ShowBubble(320,-200)
- self:ShowArrow(7,80,-80)
- elseif self.step == 4 then
- self:ShowBubble(-280,60)
- self:ShowArrow(6,-55,45)
- elseif self.step == 5 then
- self:ShowArrow(8,-50,-50)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypeSuitCollectPrompt( )
- if self.step == 3 then
- self:ShowBubble(-300,-200)
- self:ShowArrow(8,-60,-50)
- end
- end
-
- function GuidePromptView:TypeHorsePrompt( )
- if self.step == 3 then
- self:ShowBubble(-325,50)
- self:ShowArrow(6,-100,45)
- elseif self.step == 5 then
- self:ShowArrow(8,-10,-40)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypeDunGeonPrompt( )
- if self.step == 3 then
- self:ShowBubble(-1100,120)
- self:ShowArrow(5,-1270,80)
- end
- end
-
- function GuidePromptView:TypePearlPrompt( )
- if self.step == 3 then
- self:ShowBubble(-325,50)
- self:ShowArrow(6,-100,45)
- elseif self.step == 4 then
- self:ShowArrow(8,-10,-40)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypeEquipStrengthlPrompt( )
- if self.step == 3 then
- self:ShowBubble(-330,60)
- self:ShowArrow(6,-110,50)
- elseif self.step == 4 then
- self:ShowArrow(8,-10,-40)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypeJarvisPrompt( )
- if self.step == 3 then
- self:ShowBubble(-325,50)
- self:ShowArrow(6,-100,45)
- elseif self.step == 4 then
- self:ShowArrow(8,-10,-40)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypePkrankPrompt( )
- if self.step == 3 then
- self:ShowBubble(-310,60)
- self:ShowArrow(6,-100,50)
- end
- end
-
- function GuidePromptView:TypeDailyPrompt( )
- if self.step == 3 then
- self:ShowBubble(0,0)
- self:ShowArrow(1,-100,0)
- end
- end
-
- function GuidePromptView:TypeExpDungeonPrompt( )
- if self.step == 3 then
- self:ShowBubble(15000,7000)
- self:ShowArrow(5,6000,6000)
- elseif self.step == 4 then
- self:ShowBubble(-320,50)
- self:ShowArrow(6,-100,40)
- end
- end
- function GuidePromptView:TypeEquipSuitActivePrompt( )
- if self.step == 3 then
- self:ShowBubble(350,-130)
- self:ShowArrow(2,110,-60)
- elseif self.step == 4 then
- self:ShowBubble(-9999,9999)
- self:ShowArrow(5,-9999,9999)
- end
- end
-
- function GuidePromptView:NewerTaskAwardPromt( )
- if self.step == 2 then
- self:ShowBubble(163,-110)
- self:ShowArrow(7,82,-45)
- elseif self.step == 3 then
- self:ShowBubble(0,-135)
- self:ShowArrow(4,2,-40)
- end
- end
-
- function GuidePromptView:TypeSpecialPearlPrompt( )
- if self.step == 3 then
- self:ShowBubble(-325,50)
- self:ShowArrow(6,-100,45)
- elseif self.step == 5 then
- self:ShowArrow(8,-10,-40)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypeTowerPrompt( )
- if self.step == 3 then
- self:ShowBubble(-325,50)
- self:ShowArrow(6,-100,45)
- end
- end
-
- function GuidePromptView:TypeBossPrompt( )
- if self.step == 3 then
- self:ShowBubble(-325,50)
- self:ShowArrow(6,-100,45)
- end
- end
-
- function GuidePromptView:TypeGuildPrompt( )
- if self.step == 3 then
- self:ShowBubble(-425,250)
- self:ShowArrow(6,-100,-1000)
- end
- end
-
- function GuidePromptView:TypeWarSoulPrompt( )
- if self.step == 3 then
- self:ShowBubble(250,70)
- self:ShowArrow(5,70,50)
- elseif self.step == 4 then
- self:ShowBubble(310,-250)
- self:ShowArrow(7,80,-80)
- end
- end
-
- function GuidePromptView:TypeEquipCollectOnePrompt( )
- if self.step == 1 then
- self:ShowBubble(-270,70)
- self:ShowArrow(6,-70,50)
- end
- end
-
- function GuidePromptView:TypeEquipCollectTwoPrompt( )
- if self.step == 1 then
- self:ShowBubble(-270,70)
- self:ShowArrow(6,-70,50)
- end
- end
-
- function GuidePromptView:TypeGuildCSGRCollect( )
- if self.step == 1 then
- self:ShowBubble(-290,-80)
- self:ShowArrow(1,-60,0)
- end
- end
-
- function GuidePromptView:TypeMateChangeName( )
- if self.step == 1 then
- self:ShowBubble(-290,-80)
- self:ShowArrow(1,-60,0)
- end
- end
-
- function GuidePromptView:TypeExtensionLineTaskPrompt( )
- if self.step == 2 then
- self:ShowBubble(300,-250)
- self:ShowArrow(7,100,-100)
- end
- end
-
- function GuidePromptView:TypeExtensionLineTaskFinshPrompt( )
- if self.step == 1 then
- self:ShowBubble(205,-60,nil ,nil,nil,nil,nil,nil,nil,1)
- -- self:ShowArrow(2,130,-30)
- end
- end
-
- function GuidePromptView:TypeNewMainLinePrompt( )
- if self.step == 1 then
- self:ShowBubble(205,-60,nil ,nil,nil,nil,nil,nil,nil,1)
- end
- end
-
- function GuidePromptView:TypePsionicPrompt( )
- if self.step == 3 then
- self:ShowArrow(1,-50,-30)
- self:ShowBubble(-300,-120)
- elseif self.step == 4 then
- self:ShowArrow(1,9999,9999)
- self:ShowBubble(9999,9999)
- elseif self.step == 5 then
- self:ShowArrow(1,-75,0)
- self:ShowBubble(-320,-80)
- end
- end
-
- function GuidePromptView:TypeVIPSkillPrompt( )
- if self.step == 1 then
- self:ShowArrow(2,125,105)
- self:ShowBubble(350,25)
- end
- end
-
- function GuidePromptView:TypeGuildSpeedAct( )
- if self.step == 1 then
- self:ShowArrow(3,0,75)
- self:ShowBubble(-130,65)
- end
- end
-
- function GuidePromptView:TypeMainLineDungeonPrompt( )
- if self.step == 3 then
- self:ShowArrow(GuidePromptView.ArrowDir.RightBottom,-20,75)
- self:ShowBubble(-170,85)
- end
- end
-
- function GuidePromptView:TypeMainPlotdungeonSweepPrompt( )
- if self.step == 1 then
- self:ShowArrow(GuidePromptView.ArrowDir.RightBottom,-200,75)
- self:ShowBubble(-430,85)
- elseif self.step == 2 then
- self:ShowArrow(GuidePromptView.ArrowDir.RightTop,-10,-40)
- self:ShowBubble()
- end
- end
-
- function GuidePromptView:TypeEquipRedPrompt( )
- if self.step == 3 then
- self:ShowArrow(5,20,20)
- self:ShowBubble(220,20)
- end
- end
-
- function GuidePromptView:TypeMoneyBossFirstIn( )
- if self.step == 1 then
- local x,y = -75,-75
- self:ShowBubble(-260+x,-200+y)
- self:ShowArrow(8,-40+x,-35+y)
- elseif self.step == 2 then
- self:ShowBubble(270,-210)
- self:ShowArrow(7,-40+100,-35-20)
- end
- end
-
- function GuidePromptView:TypeDesertecBoss( )
- self:ShowBubble(270,-210+50)
- self:ShowArrow(7,-40+100,-35-20+50)
- end
-
- function GuidePromptView:TypeBabydunActivatedSkill( )
- if self.step == 1 then
- self:ShowBubble(-290,-80)
- self:ShowArrow(1,-60,0)
- end
- end
-
- function GuidePromptView:TypeClotheFactory( )
- if self.step == 3 then
- self:ShowBubble(-450,250)
- self:ShowArrow(1,-210,330)
- elseif self.step == 4 then
- self:ShowBubble(-360,-80)
- self:ShowArrow(1,-130,0)
- end
- end
-
- function GuidePromptView:TypeEquipCollectClosePrompt( )
- if self.step == 1 then
- local x,y = -75,-75
- self:ShowBubble(-260+x,-200+y)
- self:ShowArrow(8,-40+x,-35+y)
- end
- end
-
- function GuidePromptView:ListPrompt()
- local param = Split(self.helpVo.param, ",")
- if tonumber(param[1]) == 2 then --左下角
- self:ShowArrow(9,-15,100)
- self:ShowBubble(-315,90)
- elseif tonumber(param[1]) == 1 then --右上角
- self:ShowArrow(8,-40,-40)
- self:ShowBubble(-260,-210)
- end
- UIDepth.SetUIDepth(self.gameObject,true,self:GetCurrLayerDepth("Main"))
- UIDepth.SetUIDepth(self.arrow_tip.gameObject,true,self:GetCurrLayerDepth("Main"))
- end
-
- function GuidePromptView:TypeMarketOpen( )
- self:ShowBubble(0,-110)
- self:ShowArrow(4,0,-30)
- UIDepth.SetUIDepth(self.gameObject,true,self:GetCurrLayerDepth("Main"))
- UIDepth.SetUIDepth(self.arrow_tip.gameObject,true,self:GetCurrLayerDepth("Main"))
- end
-
- function GuidePromptView:TypeMarketSell( )
- if self.step == 1 then
- self:ShowBubble(0+40,-250)
- self:ShowArrow(4,0+40,-70)
- elseif self.step == 2 then
- self:ShowBubble(0,70)
- self:ShowArrow(3,0,70)
- UIDepth.SetUIDepth(self.gameObject,true,self:GetCurrLayerDepth("Top")+1)
- UIDepth.SetUIDepth(self.arrow_tip.gameObject,true,self:GetCurrLayerDepth("Top")+1)
- end
- end
-
- function GuidePromptView:TypeEquipEvolve( )
- if self.step == 1 then
- self:ShowBubble(-280-80-55-75+20,60-80-193-60+20)
- self:ShowArrow(1,-55-80-55-25+5,45-80-80-10-25-5-10)
- elseif self.step == 2 then
- self:ShowBubble(0,70+40)
- self:ShowArrow(3,0,70+40)
- end
- end
-
- function GuidePromptView:TypeShowFightUpTips( )
- if self.step == 1 then
- self:ShowBubble(-370,-30)
- self:ShowArrow(GuidePromptView.ArrowDir.Right,-120,50)
- end
- end
-
- function GuidePromptView:TypeEliteAssess( )
- self:ShowBubble(135,-30)
- self:ShowArrow(2,47,0)
- UIDepth.SetUIDepth(self.gameObject,true,self:GetCurrLayerDepth("Main"))
- UIDepth.SetUIDepth(self.arrow_tip.gameObject,true,self:GetCurrLayerDepth("Main"))
- end
-
- function GuidePromptView:TypeServenTarget( )
- self:ShowBubble(0,-110)
- self:ShowArrow(4,0,-30)
- UIDepth.SetUIDepth(self.gameObject,true,self:GetCurrLayerDepth("Main"))
- UIDepth.SetUIDepth(self.arrow_tip.gameObject,true,self:GetCurrLayerDepth("Main"))
- end
-
- function GuidePromptView:DeleteArrowTip()
- if self.helpVo.show_focus and not IsNull(self.attch_node) then
- self:ClearUIEffect(self.attch_node.transform)
- end
- if self.arrow_tip then
- self.arrow_tip:DeleteMe()
- self.arrow_tip = nil
- end
- end
-
- function GuidePromptView:Show(bool)
- self.gameObject:SetActive(bool)
- end
-
- function GuidePromptView:StartTimer(content)
-
- local str = content or "(<color=#4EAE1AFF>%d秒</color>后自动继续)"
- local show_timer = self.helpVo.show_timer or false
- local saying = Trim(self.helpVo.saying) or ""
- local function onTimer()
- if UnityEngine.Transform.Equals(self.attch_node,nil) then
- self:Close()
- return
- end
- self.time_diff = self.time_diff - 1
- if self.time_diff > 0 then
-
- -- local hide_timer = "hide_timer" --Trim(self.helpVo.param)
- -- if hide_timer == "hide_timer" then
- if show_timer then
- self.content.text = saying .. string.format(str,self.time_diff)
- else
- self.content.text = saying
- end
- else
- self:StopTimer()
- if self.call_back then
- self.call_back()
- end
- end
- end
- if not self.timer_id then
- self.timer_id = GlobalTimerQuest:AddPeriodQuest(onTimer, 1, -1)
- end
- end
-
- function GuidePromptView:StopTimer()
- if self.timer_id then
- GlobalTimerQuest:CancelQuest(self.timer_id)
- self.timer_id = nil
- end
- if self.delay_timer then
- GlobalTimerQuest:CancelQuest(self.delay_timer)
- self.delay_timer = nil
- end
- end
-
- function GuidePromptView:ShowBlackMask(x,y,w,h)
- --左上
- self.C2 = UiFactory.createChild(self.transform,UIType.ImageExtend,"C2")
- self.C2.transform.pivot = Vector2(0,1)
- self.C2.transform:SetAsFirstSibling()
- self.C2_Image = self.C2:GetComponent("ImageExtend")
- self.C2_Image.color = Color(0,0,0,self.alpha_value)
- lua_resM:setImageSprite(self,self.C2_Image,"common_asset","story_ui_2")
-
- --左下
- self.C4 = UiFactory.createChild(self.transform,UIType.ImageExtend,"C4")
- self.C4.transform.pivot = Vector2(0,0)
- self.C4.transform:SetAsFirstSibling()
- self.C4_Image = self.C4:GetComponent("ImageExtend")
- self.C4_Image.color = Color(0,0,0,self.alpha_value)
- lua_resM:setImageSprite(self,self.C4_Image,"common_asset","story_ui_2")
-
- --右上
- self.C6 = UiFactory.createChild(self.transform,UIType.ImageExtend,"C6")
- self.C6.transform.pivot = Vector2(1,1)
- self.C6.transform:SetAsFirstSibling()
- self.C6_Image = self.C6:GetComponent("ImageExtend")
- self.C6_Image.color = Color(0,0,0,self.alpha_value)
- lua_resM:setImageSprite(self,self.C6_Image,"common_asset","story_ui_2")
- --右下
- self.C8 = UiFactory.createChild(self.transform,UIType.ImageExtend,"C8")
- self.C8.transform.pivot = Vector2(1,0)
- self.C8.transform:SetAsFirstSibling()
- self.C8_Image = self.C8:GetComponent("ImageExtend")
- self.C8_Image.color = Color(0,0,0,self.alpha_value)
- lua_resM:setImageSprite(self,self.C8_Image,"common_asset","story_ui_2")
-
-
- self:UpdateRectMask(x,y,w,h)
- end
-
-
- --设置矩形遮罩的位置
- function GuidePromptView:UpdateRectMask(x,y,w,h)
- local width,height = nil
- self.C2.transform.anchoredPosition = Vector3(-ScreenWidth/2,ScreenHeight/2,0)
- width = ScreenWidth/2 + x - w / 2
- height = ScreenHeight / 2 - y + h / 2
- self.C2.transform.sizeDelta = Vector2(width,height)
-
- self.C4.transform.anchoredPosition = Vector3(-ScreenWidth/2,-ScreenHeight/2,0)
- width = ScreenWidth/2 + x + w / 2
- height = ScreenHeight / 2 + y - h/2
- self.C4.transform.sizeDelta = Vector2(width,height)
-
-
- self.C6.transform.anchoredPosition = Vector3(ScreenWidth/2,ScreenHeight/2,0)
- width = ScreenWidth/2 - x + w / 2
- height = ScreenHeight / 2 - y - h/2
- self.C6.transform.sizeDelta = Vector2(width,height)
-
-
- self.C8.transform.anchoredPosition = Vector3(ScreenWidth/2,-ScreenHeight/2,0)
- width = ScreenWidth/2 - x - w / 2
- height = ScreenHeight / 2 + y + h/2
- self.C8.transform.sizeDelta = Vector2(width,height)
- end
-
-
- --设置矩形遮罩的位置
- function GuidePromptView:ShowLeaveTimer(x,y)
- if not self.time_label then
- self.time_label = UiFactory.createChild(self.attch_node, UIType.Label2)
- self.time_label.transform.pivot = Vector2(0, 1)
- self.time_label.transform.anchoredPosition = Vector2(x,y)
- self.time_txt = self.time_label:GetComponent("Text")
- end
-
- self:CancelLeaveTimer()
- local onUpdate = function ( )
- if UnityEngine.Transform.Equals(self.attch_node,nil) then
- self:Close()
- return
- end
-
- self.time_diff = self.time_diff - 1
- if self.time_diff <= 0 then
- self.time_txt.text = ""
- self:CancelLeaveTimer()
- if self.call_back then
- self.call_back()
- end
- return
- end
- self.time_txt.text = self.time_diff.."s后自动关闭"
- end
- self.time_txt.text = ""
- if not self.leave_timer_id then
- self.time_txt.text = self.time_diff.."s后自动关闭"
- self.leave_timer_id = GlobalTimerQuest:AddPeriodQuest(onUpdate, 1, -1)
- end
- onUpdate()
- end
-
- function GuidePromptView:CancelLeaveTimer( )
- if self.leave_timer_id then
- GlobalTimerQuest:CancelQuest(self.leave_timer_id)
- self.leave_timer_id = nil
- end
- end
-
- function GuidePromptView:GetAnimEndPos(i_type)
- if not self.old_pos then
- self.old_pos = Vector3(0,0,0)
- end
- local pos = Vector3(self.old_pos.x, self.old_pos.y, self.old_pos.z )
- --目前就只有左右2个方向
- if i_type == 1 or i_type == 2 then
- pos = Vector3(-10 + self.old_pos.x , self.old_pos.y, self.old_pos.z )
- end
- return pos
- end
-
- function GuidePromptView:StopAnim()
- if not IsNull(self.arrow_dir_root_obj) then
- self.arrow_dir_root_obj:SetActive(false)
- end
-
- if self.tween_id then
- TweenLite.Stop(self.tween_id)
- self.tween_id = nil
- end
- if self.tween_id2 then
- TweenLite.Stop(self.tween_id2)
- self.tween_id2 = nil
- end
- if self.tween_id3 then
- TweenLite.Stop(self.tween_id3)
- self.tween_id3 = nil
- end
- end
-
- function GuidePromptView:StartAnim()
- if self.arrow_tip_dir == 1 then
- SetAnchoredPosition(self.arrow_dir_root, -90, 0 )
- SetLocalScale(self.arrow_dir_root, -1, 1, 1)
- else
- SetAnchoredPosition(self.arrow_dir_root, 90, 0 )
- SetLocalScale(self.arrow_dir_root, 1, 1, 1)
- end
- self.arrow_dir_root_obj:SetActive(true)
- self.old_pos = self.anim_root.localPosition
- if self.twenn_id == nil then
- local function onCompleted()
- self:ArrowAnimation()
- end
- self.tween_id = TweenLite.to(self, self.anim_root,TweenLite.UiAnimationType.POS, self:GetAnimEndPos(self.arrow_tip_dir) ,0.6,onCompleted,TweenFunc.EASE_IN_OUT)
- end
- end
-
- function GuidePromptView:ArrowAnimation()
- local call_fun = function ()
- local function onCompleted()
- self:ArrowAnimation()
- end
- self.tween_id3 =TweenLite.to(self, self.anim_root,TweenLite.UiAnimationType.POS, self:GetAnimEndPos(self.arrow_tip_dir) ,0.6,onCompleted,TweenFunc.EASE_IN_OUT)
- end
- self.tween_id2 =TweenLite.to(self, self.anim_root,TweenLite.UiAnimationType.POS,self:GetAnimEndPos(), 0.6, call_fun, TweenFunc.EASE_IN_OUT)
- end
|