miduo_client/Assets/ManagedResources/~Lua/Modules/Guide/GuideManager.lua

697 lines
28 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

GuideManager = {}
local this = GuideManager
local GuideConfig = ConfigManager.GetConfig(ConfigName.GuideConfig)
local GlobalSystemConfig = ConfigManager.GetConfig(ConfigName.GlobalSystemConfig)
local openDic = {}
local funcDic = {}
local json = require 'cjson'
local _CarbonGuildList = {}
local _IsFuncGuild = false
local _FuncGuideList = {}
--初始化
function this.Initialize()
Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnFunctionOpen, this.OnFunctionOpen)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnLevelChange, this.OnLevelChange)
Game.GlobalEvent:AddEvent(GameEvent.HongMeng.HongMengGuide,this.HongMengGuideFun)
end
this.IsFirstOpenHarmonyBei = false
function this.HongMengGuideFun(OnOff)
--鸿蒙碑开启引导
print(Language[12186])
if OnOff == 1 then
-- body
UIManager.OpenPanel(UIName.MainPanel)
table.insert(_FuncGuideList, 101612)
this.CheckFuncGuide()
this.IsFirstOpenHarmonyBei = true
-- for i = 1, #HarmonyManager.hongmengGuards do
-- -- body
-- if HarmonyManager.hongmengGuards[i].heroId ~= "" then
-- -- body
-- local _heroData = HeroManager.GetSingleHeroData(HarmonyManager.hongmengGuards[i].heroId)
-- HeroManager.UpdateSingleHeroDatas(_heroData.dynamicId, 1, _heroData.star, 0, _heroData.upStarId)
-- end
-- end
end
end
function this.OnLevelChange()
-- 首充引导特殊处理到十级开放
if PlayerManager.level == 10 then
table.insert(_FuncGuideList, 100200)
this.CheckFuncGuide()
end
end
--
function this.OnFunctionOpen(funcId)
if not funcId then return end
-- LogGreen(funcId.."funcId")
if not AppConst.isGuide then
-- LogGreen("不在引导内")
return
end
LogGreen(tostring(AppConst.isGuide))
local guideId = GlobalSystemConfig[funcId].GuideId
if guideId and guideId ~= 0 and not funcDic[guideId] then
table.insert(_FuncGuideList, guideId)
end
--
this.CheckFuncGuide()
end
-- 将引导加入引导队列
function this.TestFuncGuide(guideId)
if funcDic[guideId] then
funcDic[guideId] = nil
end
table.insert(_FuncGuideList, guideId)
this.CheckFuncGuide()
end
-- 初始化引导数据
function this.InitData(guideData)
openDic = {}
funcDic = {}
--this.RefreshTriggerListen(1701, 35, { 17,})
--只有勾了新手引导,才会读取引导数据,否则置为-1
if not AppConst.isGuide or PlayerManager.level == 200 then
openDic[GuideType.Force] = -1
NetManager.SaveGuideDataRequest(GuideType.Force, -1)
return
end
for i = 1, #guideData do
local guide = guideData[i]
-- 强制引导只保存一条当前引导数据
if guide.type == GuideType.Force then
openDic[guide.type] = guide.id
if guide.id ~= -1 then
local openType = GuideConfig[guide.id].OpenType
local openArgs = GuideConfig[guide.id].OpenArgs
this.RefreshTriggerListen(guide.id, openType, openArgs)
end
elseif guide.type == GuideType.Check then -- 用于检测引导的网络延时不需要检测
elseif guide.type == GuideType.Function then -- 功能引导类型 不是按类型对应id的方式不需要检测
else -- 功能引导会将所有功能引导的id通过type字段保存到后端
funcDic[guide.type] = guide.id
end
end
-- 测试功能引导用
-- Timer.New(function()
-- this.OnFunctionOpen(86)
-- print("6666666")
-- --this.HongMengGuideFun()
-- end, 1):Start()
end
-- 检测功能引导
function GuideManager.CheckFuncGuide()
if not GuideManager.IsInMainGuide() and not _IsFuncGuild and #_FuncGuideList > 0 then
local guideId = _FuncGuideList[1]
if not funcDic[guideId] then
this.SyncFuncGuideServer(guideId)
GuideManager.ShowGuide(guideId)
end
table.remove(_FuncGuideList, 1)
end
end
--- 外部调用检测副本引导的方法
function GuideManager.CheckCarbonGuild(carbonType)
-- 判断当前
if CarbonManager.difficulty ~= carbonType then return end
-- 判断是否时第一次进入某类型副本
if MapManager.IsPlayedByMapType(carbonType) then return end
-- 设置已经进入过此类型副本(感觉放在这里不好,但是为了统一处理先放在这里)
MapManager.SetMapTypePlayed(carbonType)
-- 找到符合条件的引导数据
for _, config in ipairs(_CarbonGuildList) do
if config.OpenArgs[1] == carbonType then
this.ShowGuide(config.Id)
end
end
end
-- 获取当前引导节点
function this.GetCurId(type)
return openDic[type]
end
--判定是否在强制引导阶段
function this.IsInMainGuide()
return openDic[GuideType.Force] and openDic[GuideType.Force] ~= -1
end
-- 判断功能引导是否存在
function this.IsFunctionGuideExist()
return _IsFuncGuild
end
--更新下一步引导
function this.CheckNextGuideListen(nextId)
if GuideConfig[nextId] then
local type = GuideConfig[nextId].Type
if openDic[type] then
openDic[type] = nextId
this.RefreshTriggerListen(nextId, GuideConfig[nextId].OpenType, GuideConfig[nextId].OpenArgs)
end
end
end
function this.ShowGuide(id, ...)
-- 引导数据打点
DataCenterManager.CommitClickStatus(Language[10832], tostring(id))
ThinkingAnalyticsManager.Track("guild", {
step_id = id,
guild_start_time = math.floor(GetTimeStamp()),
})
if AppConst.isSDKLogin then
-- SDKMgr:NewRoleTutorial(tostring(id) ,tostring(math.floor(GetTimeStamp())) ,tostring(math.floor(GetTimeStamp())),
-- PlayerManager.serverInfo.server_id,PlayerManager.serverInfo.name,PlayerManager.nickName,tostring(PlayerManager.uid))
--发送埋点数据
if id == -1 then
CustomEventManager.SendCustomEvents(FBSDKCustomEventType.FinishGuide,0)
end
end
-- 引导结束回调
local function onGuideClose()
if GuideConfig[id].Type == GuideType.Force then
if not this.IsInMainGuide() then
-- 强制引导结束检测是否需要功能引导
this.CheckFuncGuide()
end
elseif GuideConfig[id].Type == GuideType.Function then
-- 关闭功能引导
_IsFuncGuild = false
-- 检测是否还需要功能引导
this.CheckFuncGuide()
elseif GuideConfig[id].Type == GuideType.Battle then
Game.GlobalEvent:DispatchEvent(GameEvent.Guide.BattleGuideDone)
end
end
-- 监听下一步引导
if GuideConfig[id].Next ~= 0 then
this.CheckNextGuideListen(GuideConfig[id].Next)
end
-- 开始功能引导
if GuideConfig[id].Type == GuideType.Function then
_IsFuncGuild = true
end
-- 显示当前引导
UIManager.OpenPanel(UIName.GuidePanel, id, onGuideClose, ...)
end
-- 同步引导数据到服务器
function this.SyncServer(id) --同步到后端
Game.GlobalEvent:DispatchEvent(GameEvent.Guide.NextTrigger, id)
if GuideConfig[id].ServerNext ~= 0 then
if GuideConfig[id].Type == GuideType.Force then
openDic[GuideType.Force] = GuideConfig[id].ServerNext
NetManager.SaveGuideDataRequest(GuideConfig[id].Type, GuideConfig[id].ServerNext)
end
end
end
-- 检测服务器延迟,
function this.CheckServer(func)
NetManager.SaveGuideDataRequest(GuideType.Check, 0, func)
end
-- 将功能引导同步到服务器
function this.SyncFuncGuideServer(id)
if GuideConfig[id].Type == GuideType.Function then
funcDic[id] = 1
NetManager.SaveGuideDataRequest(id, 1)
end
end
--更新触发监听
function this.RefreshTriggerListen(id, openType, openArgs)
if openType == 1 then
--进入新关卡界面
local trigger
trigger = function(panelType, panel)
if panelType == UIName.FightPointPassMainPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 2 then
--地图走格子触发
local trigger
trigger = function(u, v, callList)
if MapManager.curMapId == 100 and u == openArgs[1] and v == openArgs[2] then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.MapPosTriggered, trigger)
this.ShowGuide(id)
callList:Push(function()
trigger = function(panelType)
if panelType == UIName.GuidePanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
MapPanel.CallListPop()
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
end)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.MapPosTriggered, trigger)
elseif openType == 3 then
--监听指定怪物组id的战斗,战斗技能触发,显示对位敌人
local trigger
trigger = function(roleView)
if FightPointPassManager.curOpenFight == openArgs[1] then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.GuideBattleCDDone, trigger)
BattleManager.PauseBattle()
this.ShowGuide(id, roleView)
GuidePanel.upArrow.transform.position = roleView.GameObject.transform.position
local enemyView = roleView.RootPanel.GetRoleView(BattleLogic.GetAggro(roleView.role))
GuidePanel.upArrow.transform.up = Vector3.Normalize(enemyView.GameObject.transform.position - roleView.GameObject.transform.position)
-- Util.GetTransform(GuidePanel.upArrow, "1").localEulerAngles = -GuidePanel.upArrow.transform.localEulerAngles
GuidePanel.upArrow:SetActive(true)
local canGO1 = roleView.GameObject.transform.parent.parent.gameObject:GetComponent("Canvas")
local canGO2 = enemyView.GameObject.transform.parent.gameObject:GetComponent("Canvas")
local canGO3 = Util.GetGameObject(roleView.RootPanel.EnemyPanel, "live_"..canGO2.name):GetComponent("Canvas")
canGO1.overrideSorting = true
canGO2.overrideSorting = true
canGO3.overrideSorting = true
canGO1.sortingOrder = GuidePanel.sortingOrder
canGO2.sortingOrder = GuidePanel.sortingOrder
canGO3.sortingOrder = GuidePanel.sortingOrder
trigger = function(theId)
if id == theId then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.NextTrigger, trigger)
BattleManager.ResumeBattle()
GuidePanel.upArrow:SetActive(false)
canGO1.overrideSorting = false
canGO2.overrideSorting = false
canGO3.overrideSorting = false
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.NextTrigger, trigger)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.GuideBattleCDDone, trigger)
elseif openType == 4 then
--序章完成进入主界面完成触发
local trigger
trigger = function(panelType, panel)
if panelType == UIName.MainPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 5 then
--监听指定怪物组id的战斗,有敌方角色死亡时,我方对位角色技能触发
local trigger
trigger = function(roleView)
if FightPointPassManager.curOpenFight == openArgs[1] and roleView.RootPanel.GuideCheckEnemyDead(roleView.role) then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.GuideBattleCDDone, trigger)
BattleManager.PauseBattle()
this.ShowGuide(id, roleView)
GuidePanel.upArrow.transform.position = roleView.GameObject.transform.position
local enemyView = roleView.RootPanel.GetRoleView(BattleLogic.GetAggro(roleView.role))
GuidePanel.upArrow.transform.up = Vector3.Normalize(enemyView.GameObject.transform.position - roleView.GameObject.transform.position)
-- Util.GetTransform(GuidePanel.upArrow, "1").localEulerAngles = -GuidePanel.upArrow.transform.localEulerAngles
GuidePanel.upArrow:SetActive(true)
local canGO1 = roleView.GameObject.transform.parent.parent.gameObject:GetComponent("Canvas")
local canGO2 = enemyView.GameObject.transform.parent.gameObject:GetComponent("Canvas")
local canGO3 = Util.GetGameObject(roleView.RootPanel.EnemyPanel, "live_"..canGO2.name):GetComponent("Canvas")
canGO1.overrideSorting = true
canGO2.overrideSorting = true
canGO3.overrideSorting = true
canGO1.sortingOrder = GuidePanel.sortingOrder
canGO2.sortingOrder = GuidePanel.sortingOrder
canGO3.sortingOrder = GuidePanel.sortingOrder
trigger = function(theId)
if id == theId then
GuidePanel.upArrow:SetActive(false)
canGO1.overrideSorting = false
canGO2.overrideSorting = false
canGO3.overrideSorting = false
end
if GuideConfig[id].Next == theId then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.NextTrigger, trigger)
BattleManager.ResumeBattle()
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.NextTrigger, trigger)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.GuideBattleCDDone, trigger)
elseif openType == 6 then
--监听指定怪物组id的战斗技能是否触发
local trigger
trigger = function(roleView)
if FightPointPassManager.curOpenFight == openArgs[1] then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.GuideBattleCDDone, trigger)
BattleManager.PauseBattle() --触发时暂停游戏逻辑
this.ShowGuide(id, roleView)
local canGO1 = roleView.GameObject.transform.parent.parent.gameObject:GetComponent("Canvas")
canGO1.overrideSorting = true
canGO1.sortingOrder = GuidePanel.sortingOrder
trigger = function(panelType)
if panelType == UIName.GuidePanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
BattleManager.ResumeBattle()
canGO1.overrideSorting = false
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.GuideBattleCDDone, trigger)
elseif openType == 7 then
--进入上阵选择界面,判定指定关卡通关
local trigger
trigger = function(panelType)
if panelType == UIName.FormationPanel and FightPointPassManager.curOpenFight == openArgs[1] then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 8 then
--监听指定怪物组id的战斗触发战场分割,显示战斗提示,切换到第二提示
local trigger
trigger = function(stage)
if FightPointPassManager.curOpenFight == openArgs[1] and stage == openArgs[2] then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.GuideBattleStageChange, trigger)
BattleManager.PauseBattle() --触发时暂停游戏逻辑
this.ShowGuide(id, stage)
trigger = function(theId)
if GuideConfig[id].Next == theId then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.NextTrigger, trigger)
BattleManager.ResumeBattle()
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.NextTrigger, trigger)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.GuideBattleStageChange, trigger)
elseif openType == 9 then
--进入新关卡界面,判定指定关卡通关
local trigger
trigger = function(panelType, panel)
if panelType == UIName.FightPointPassMainPanel and FightPointPassManager.curOpenFight == openArgs[1] then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 10 then
--进入单抽界面
local trigger
trigger = function(panelType, panel)
if panelType == UIName.SingleRecruitPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 11 then
--进入上阵选择界面
local trigger
trigger = function(panelType)
if panelType == UIName.FormationPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 12 then
--进入副本引导界面
local trigger
trigger = function(panelType)
if panelType == UIName.CarbonMissionPopup then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 13 then
elseif openType == 14 then
--地图点option完成触发
local trigger
trigger = function(type, optionId)
Log("type:" .. type)
Log("optionId:" .. optionId)
Log("openArgs[1]:" .. openArgs[1])
if type == 1 and optionId == openArgs[1] then
Log("done!!!!!")
Game.GlobalEvent:RemoveEvent(GameEvent.Map.ProgressChange, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Map.ProgressChange, trigger)
elseif openType == 15 then
--战斗胜利结算
local trigger
trigger = function(panelType)
if panelType == UIName.BattleWinPopup then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 16 then
--序章战开始
local trigger
trigger = function(panelType)
if MapManager.curMapId == 100 then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.GuideBattleStart, trigger)
BattleManager.PauseBattle()
this.ShowGuide(id)
trigger = function(panelType)
if panelType == UIName.GuidePanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
BattleManager.ResumeBattle()
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.GuideBattleStart, trigger)
elseif openType == 17 then
--序章探索完成
local trigger
trigger = function(panelType)
if MapManager.curMapId == 100 and panelType == UIName.MissionRewardPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 18 then
--恭喜获得界面
local trigger
trigger = function(panelType)
if panelType == UIName.RewardItemPopup then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 19 then
--监听角色升级界面
local trigger
trigger = function(panelType)
if panelType == UIName.RoleUpLvBreakSuccessPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
elseif openType == 20 then
--监听地图任务界面
local trigger
trigger = function(panelType)
if panelType == UIName.CarbonMissionPopup then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 21 then
--进入地图
local trigger
trigger = function()
if MapManager.curMapId == openArgs[1] then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.MapInit, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.MapInit, trigger)
-- elseif openType == 22 then
-- --监听副本结算界面
-- local trigger
-- trigger = function(panelType)
-- if panelType == UIName.MapStatsPanel then
-- Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
-- this.ShowGuide(id)
-- end
-- end
-- Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 23 then
--监听副本界面
local trigger
trigger = function(panelType)
if panelType == UIName.CarbonTypePanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 24 then
--恭喜获得界面弹出后
local trigger
trigger = function(panelType)
if panelType == UIName.RewardItemPopup then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
elseif openType == 25 then
--升阶完成后
local trigger
trigger = function(panelType)
if panelType == UIName.RoleUpStarSuccessPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
--elseif openType == 26 then
-- --功能开启后
-- local trigger
-- trigger = function(panelType)
-- if panelType == UIName.MainPanel and ActTimeCtrlManager.IsQualifiled(openArgs[1]) then
-- Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
-- this.ShowGuide(id)
-- end
-- end
-- Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 27 then
--天赋收集完成
local trigger
trigger = function(panelType)
if panelType == UIName.MsgPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 28 then
--首次进入试炼副本
local trigger
trigger = function()
if MapTrialManager.firstEnter then
Game.GlobalEvent:RemoveEvent(GameEvent.Guide.MapInit, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Guide.MapInit, trigger)
elseif openType == 29 then
--工坊升级界面关闭
local trigger
trigger = function(panelType)
if panelType == UIName.WorkShopLevelUpNotifyPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
elseif openType == 30 then
--击败秘境的看守
local trigger
trigger = function(areaId)
if areaId then
Game.GlobalEvent:RemoveEvent(GameEvent.Adventure.MonsterSayInfo, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.Adventure.MonsterSayInfo, trigger)
elseif openType == 31 then
local trigger
trigger = function(panelType)
if panelType == UIName.ArenaMainPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 32 then
local trigger
trigger = function(panelType)
if panelType == UIName.FightEndLvUpPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
elseif openType == 33 then
--local trigger
--trigger = function(panelType)
-- if panelType == UIName.TalentUpGradSuccessPanel then
-- Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
-- this.ShowGuide(id)
-- end
--end
--Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 34 then
--local trigger
--trigger = function(panelType)
-- if panelType == UIName.TalentUpGradSuccessPanel then
-- Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, trigger)
-- this.ShowGuide(id)
-- end
--end
--Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, trigger)
elseif openType == 35 then
local trigger
trigger = function(panelType)
--close => BattlePanel
if panelType == UIName.FightPointPassMainPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
elseif openType == 36 then -- 第一次进入副本触发
local trigger
trigger = function(panelType)
--close => BattlePanel
if panelType == UIName.MapPanel then
Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, trigger)
this.ShowGuide(id)
end
end
Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, trigger)
end
end
return this