|
|
-
- GuideShowView = GuideShowView or BaseClass(BaseView)
- local GuideShowView = GuideShowView
- function GuideShowView:__init()
- self.base_file = "guide"
- self.layout_file = "GuideShowView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.change_scene_close = true
- self.close_mode = CloseMode.CloseVisible
- self.is_set_zdepth = true
- self.sound_id = 0
- self.mainVo = RoleManager.Instance.mainRoleInfo
- self.is_set_order_sorting = true
- -- self.use_local_view = true
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:InitEvent()
- end
- self.open_callback = function ()
- if not self.params then
- return
- end
- Scene.Instance:ChangeFogEnable(false)
-
- self:LayoutUI()
- self:PlaySound()
- end
- self.close_callback = function ()
- if self.close_call then
- self.close_call()
- end
-
- Scene.Instance:ChangeFogEnable(true)
- self:ClearUIEffect(self.effect_con)
- self:RemoveTimer()
- self:StopAnim()
-
- if self.show_figure_timer_id then
- GlobalTimerQuest:CancelQuest(self.show_figure_timer_id)
- self.show_figure_timer_id = nil
- end
- --坐骑后面有手指引导。所以不继续任务
- if not self.stop_task and self.type ~= 3 then
- GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK, true)
- end
- end
- self.destroy_callback = function ()
- self:Clear()
- end
- end
-
- function GuideShowView:Open(params, saying, close_call,stop_task)
- if params then
- self.type = tonumber(params[1])
- self.params = params
- self.saying = saying
- self.close_call = close_call
- self.stop_task = stop_task
- self.time_diff = 8
- end
- BaseView.Open(self)
- end
-
- function GuideShowView:Clear()
- self:ClearUIEffect(self.effect_con)
- self:RemoveTimer()
- self:StopAnim()
- end
-
- function GuideShowView:Close()
- -- self.downCon.localPosition = co.TableXYZ(0, -38, 0)
- BaseView.Close(self)
- end
-
- function GuideShowView:LayoutUI()
-
- self.roleCon.localRotation = Quaternion.Euler(0,0,0)
- self.roleCon.localPosition = Vector3(-6,28,0)
-
- self.expGet_tips1:SetActive(false)
- self.expGet_tips2:SetActive(false)
-
- local function load_end_func()
- self:SetUIDepth(self.roleCon.gameObject)
- end
- self:AddUIEffect("ui_getobj_light", self.effect_con, self.layer_name, nil, 1, true, nil, nil, nil, load_end_func)
-
- self:StopAnim()
-
- if self.show_figure_timer_id then
- GlobalTimerQuest:CancelQuest(self.show_figure_timer_id)
- self.show_figure_timer_id = nil
- end
- local function timer_func()
- if self.type == 1 then
- self:DealWithSpecialWeapon()
- elseif self.type == 2 then
- self:DealWithPet()
- elseif self.type == 3 then
- self:DealWithHorse()
- elseif self.type == 4 then
- self:DealWithWing()
- elseif self.type == 5 then
- self:DealEMo()
- elseif self.type == 6 then --星灵奖励
- self:DealWithStarSoulReward()
- end
- end
- self.show_figure_timer_id = GlobalTimerQuest:AddDelayQuest(timer_func, 0.08)
-
-
- self:SetDesc(self.saying)
- self:ShowTimer()
- end
-
- function GuideShowView:DealWithSpecialWeapon()
- local career = RoleManager.Instance.mainRoleInfo.career
- local cfg = {}
- local name = ""
- local pos_y = 0
- local position, rotate = nil
- local scale = 140
- if career == 1 then
- cfg.resource_id = 101000
- name = "爆炎大剑"
- pos_y = -100
- position = co.TableXYZ(120, -80, 0)--[[Vector3.zero--]]
- rotate = --[[nil--]]{x = 0, y = -180, z = -145}
- scale = 110
- elseif career == 2 then
- cfg.resource_id = 102000
- name = "龙牙长枪"
- pos_y = 0
- position = co.TableXYZ(50, 0, 0)--Vector3.zero
- rotate = {x = 0, y = -180, z = -145}
- scale = 100
- elseif career == 3 then
- cfg.resource_id = 103000
- name = "龙牙长枪"
- pos_y = 0
- position = Vector3.zero
- rotate = nil
- elseif career == 4 then
- cfg.resource_id = 104000
- name = "魔力重炮"
- pos_y = 0
- position = Vector3(70, -53, 0)
- rotate = {x = 0, y = 0, z = -45}
- scale = 120
- else
- cfg.resource_id = 101000
- name = "爆炎大剑"
- pos_y = -100
- position = Vector3.zero
- rotate = nil
- end
-
- if Config.UIModelConfig[cfg.resource_id] then
- local data = {
- res_id = cfg.resource_id,
- modelPartPos = Config.UIModelConfig[cfg.resource_id].pos,
- type = Config.UIModelConfig[cfg.resource_id].type,
- texture_size = Vector2(450, 270),
- scale = scale,
- layer_name = self.layer_name,
- position = position,
- rotate = rotate
- }
- lua_resM:NewSetPartModel(self, self.roleCon, data)
- self:FloatUDAnima()
- else
- logWarn("[CultureViewItem:CreateModel] "..cfg.resource_id.."找不到配置")
- end
- self.roleCon.transform:Rotate(Vector3(0, 0, 90))
- -- self.roleCon.localPosition = Vector3(-6,pos_y,0)
- self:SetName(name)
- end
-
- --武器的上下浮动效果
- function GuideShowView:FloatUDAnima()
- self.tween_id3 = TweenLite.to(self, self.roleCon, TweenLite.UiAnimationType.POSY, 60, 1.5, call_fun, TweenFunc.PINGPONG, true)
- end
-
- function GuideShowView:StopAnim()
- if self.tween_id3 then
- TweenLite.Stop(self.tween_id3)
- self.tween_id3 = nil
- end
- end
-
- function GuideShowView:DealWithPet()
- local id = tonumber(self.params[2])
- local cfg = Config.Petstage[id]
- if cfg then
- local data = {
- clothe_res_id = cfg.figure,
- type = SceneBaseType.Horse,
- layer_name = self.layer_name,
- action_name_list = {"idle"},
- can_rotate = true,
- scale = 220,
- position = Vector3(0, -57, 0),
- }
- lua_resM:SetRoleModel(self, self.roleCon, data)
- self:SetDesc(cfg.name)
- end
- self.roleCon.localPosition = Vector3(0, -80, 0)
- end
-
- function GuideShowView:DealWithHorse()
- local id = tonumber(self.params[2])
- local cfg = Config.Mountstage[id]
- if cfg then
- local data = {
- clothe_res_id = cfg.ride_figure,
- type = SceneBaseType.Horse,
- layer_name = self.layer_name,
- rotate = -30,
- action_name_list = {"idle"},
- can_rotate = true,
- scale = 140,
- position = Vector3(-15, -155, 0),
- }
- lua_resM:SetRoleModel(self, self.roleCon, data)
- self:SetName(Trim(cfg.name))
- end
- self.roleCon.localPosition = Vector3(0, 50, 0)
- end
-
- function GuideShowView:DealWithWing()
- local career = RoleManager.Instance.mainRoleInfo.career
- local type_id = tonumber(self.params[career + 1])
- local goods_basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
- if not goods_basic then
- return
- end
-
- local data = {
- clothe_res_id = goods_basic.model_id,
- type = SceneBaseType.Horse,
- layer_name = self.layer_name,
- action_name_list = {"idle"},
- can_rotate = true,
- scale = 220,
- position = Vector3(0, -15, 0),
- }
- lua_resM:SetRoleModel(self, self.roleCon, data)
- self:SetName(Trim(goods_basic.goods_name))
- end
-
- function GuideShowView:DealEMo()
- local data = {
- clothe_res_id = 503001,
- type = SceneBaseType.Horse,
- layer_name = self.layer_name,
- action_name_list = {"idle"},
- can_rotate = true,
- scale = 300,
- position = Vector3(0, -350, 0),
- }
- lua_resM:SetRoleModel(self, self.roleCon, data)
- self.expGet_tips1:SetActive(true)
- self.expGet_tips2:SetActive(true)
- self:SetName("经验馆主")
- self.roleCon.localPosition = Vector3(0, 0, 0)
- -- self.downCon.localPosition = co.TableXYZ(-6, -10, 0)
- end
-
- function GuideShowView:LoadSuccess()
- self.info_con,
- self.sure_btn,
- self.mask_btn,
- self.expGet_tips1,
- self.expGet_tips2 = self:GetChildGameObjects({
- "InfoCon",
- "InfoCon/SureBtn",
- "Mask",
- "InfoCon/expGet_tips1",
- "InfoCon/expGet_tips2",
- })
-
- self.name_txt,
- self.desc_txt,
- self.sure_btn_txt = self:GetChildTexts({
- "InfoCon/Name/Text",
- "InfoCon/Desc/Text",
- "InfoCon/SureBtn/Text"
- })
-
- self.roleCon,
- self.effect_con,
- self.mask_bg,
- self.downCon = self:GetChildTransforms({
- "InfoCon/Texture",
- "EffectCon",
- "Mask",
- "InfoCon/downCon",
- })
- lua_resM:setOutsideImageSprite(self, self.downCon:GetComponent("Image"), GameResPath.GetGuideImage("wgui_taizi"), false)
-
- self.mask_bg.sizeDelta = Vector2(SrcScreenWidth, ScreenHeight)
- end
-
- function GuideShowView:SureBtnClickEvent()
- local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TASK_ITEM_SHOW, 1) or GuideModel:getInstance():GetHelpVo(HelpType.TASK_ITEM_SHOW, 2)
- or GuideModel:getInstance():GetHelpVo(HelpType.TASK_ITEM_SHOW, 3)
- if helpVo then
- GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP, helpVo)
- end
- self:Close()
- end
-
- function GuideShowView:InitEvent()
- local function onBtnClickHandler(target)
- if target == self.sure_btn or target == self.mask_btn then
- self:SureBtnClickEvent()
- end
- end
-
- AddClickEvent(self.sure_btn, onBtnClickHandler)
- AddClickEvent(self.mask_btn, onBtnClickHandler)
- end
-
- function GuideShowView:SetName(name)
- self.name_txt.text = name
- end
-
- function GuideShowView:SetDesc(str)
- self.desc_txt.text = str
- end
-
- function GuideShowView:PlaySound()
- local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TASK_ITEM_SHOW, 1) or GuideModel:getInstance():GetHelpVo(HelpType.TASK_ITEM_SHOW, 2)
- if helpVo then
- lua_soundM:StopEffect(self, LuaSoundManager.SOUND_TYPE.FUNC, self.sound_id)
- if helpVo.sound and Trim(helpVo.sound) ~= "" then
- if lua_soundM then
- self.sound_id = lua_soundM:PlayEffect(self, Trim(helpVo.sound), false, LuaSoundManager.SOUND_TYPE.FUNC)
- end
- end
- end
- end
-
- function GuideShowView:ShowTimer()
- self:RemoveTimer()
- self.sure_btn_txt.text = "确定(" .. self.time_diff .. "秒)"
- local function onTimer()
- self.time_diff = self.time_diff - 1
- if self.time_diff > 0 then
- self.sure_btn_txt.text = "确定(" .. self.time_diff .. "秒)"
- else
- self:RemoveTimer()
- self:SureBtnClickEvent()
- end
- end
- self.time_id = GlobalTimerQuest:AddPeriodQuest(onTimer, 1, -1)
- end
-
- function GuideShowView:RemoveTimer()
- if self.time_id then
- GlobalTimerQuest:CancelQuest(self.time_id)
- self.time_id = nil
- end
- end
-
- function GuideShowView:DealWithStarSoulReward()
- local id = tonumber(self.params[2])
- local data = {
- clothe_res_id = id,
- type = SceneBaseType.Partner,
- layer_name = self.layer_name,
- rotate = 0,
- action_name_list = {"idle"},
- can_rotate = true,
- scale = 220,
- position = Vector3(0, -170, 0),
- layout_file = self.layout_file
- }
- lua_resM:SetRoleModel(self, self.roleCon, data)
- self:SetName(self.params[3])
- self.roleCon.localPosition = Vector3(0, 50, 0)
- end
|