5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
521 lines
19 KiB
Lua
521 lines
19 KiB
Lua
local GuideCtrl = class("GuideCtrl", BaseCtrl)
|
|
local WwiseAudioMgr = CS.WwiseAudioManager.Instance
|
|
local TimerManager = require("GameCore.Timer.TimerManager")
|
|
local GamepadUIManager = require("GameCore.Module.GamepadUIManager")
|
|
local SDKManager = CS.SDKManager.Instance
|
|
GuideCtrl._mapNodeConfig = {
|
|
GuideUIHelp = {sComponentName = "GameObject"},
|
|
btnHide = {sComponentName = "GameObject"},
|
|
btnTempRect = {
|
|
sNodeName = "btnTemp",
|
|
sComponentName = "RectTransform"
|
|
},
|
|
btnTemp = {sComponentName = "UIButton"},
|
|
typeMask = {sComponentName = "GameObject"},
|
|
imgLeft = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
imgRight = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
imgTop = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
imgBottom = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
imgMiddle = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
ani_Middle = {sNodeName = "imgMiddle", sComponentName = "Animator"},
|
|
imgHand = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
imgHand1 = {sComponentName = "Canvas"},
|
|
obj_texBgCanvas = {sNodeName = "obj_texBg", sComponentName = "Canvas"},
|
|
obj_texBg = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
imgHead = {sComponentName = "Image"},
|
|
texDesc = {sComponentName = "TMP_Text"},
|
|
texDescNoneHead = {sComponentName = "TMP_Text"},
|
|
btnClose = {
|
|
sComponentName = "UIButton",
|
|
callback = "FinishCurrentStep"
|
|
},
|
|
btnCount = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnClickCount"
|
|
},
|
|
btnJump = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnClickJump"
|
|
},
|
|
txtJump = {sComponentName = "TMP_Text", sLanguageId = "Guide_Jump"},
|
|
canvasBtnClose = {sNodeName = "btnClose", sComponentName = "Canvas"},
|
|
btnShortcutClose = {
|
|
sComponentName = "NaviButton",
|
|
sAction = "Confirm",
|
|
callback = "FinishCurrentStep"
|
|
},
|
|
blur = {},
|
|
aniBlur = {sNodeName = "blur", sComponentName = "Animator"},
|
|
EditorDebug = {sComponentName = "GameObject"},
|
|
InputFieldDebug = {sComponentName = "InputField"},
|
|
InputFieldStep = {sComponentName = "InputField"},
|
|
InputFieldPassive = {sComponentName = "InputField"},
|
|
btnEditorDebug = {
|
|
sComponentName = "UIButton",
|
|
callback = "DebugEditorStep"
|
|
},
|
|
btnEditorClear = {
|
|
sComponentName = "UIButton",
|
|
callback = "DebugEditorClear"
|
|
}
|
|
}
|
|
GuideCtrl._mapEventConfig = {
|
|
Event_ActiveGuidePanel = "ActiveGuidePanelEvent",
|
|
Event_DeActiveGuidePanel = "DeActiveGuidePanelEvent",
|
|
Event_ActiveHide = "ActiveHide",
|
|
NewDay_Clear_Guide = "NewDayClearGuide",
|
|
StoryDialog_DialogEnd = "OnEvent_StoryDialog_DialogEnd"
|
|
}
|
|
local clickCount = 0
|
|
local maxClickCount = 15
|
|
local maxWaitTimeEnd = false
|
|
local maxWaitTime = 20
|
|
function GuideCtrl:Awake()
|
|
self.isDebugTest = false
|
|
maxClickCount = ConfigTable.GetConfigNumber("GuideMaxClickCount")
|
|
maxWaitTime = ConfigTable.GetConfigNumber("GuideMaxWaitTime")
|
|
self.GuideUIHelpCS = self._mapNode.GuideUIHelp:GetComponent("GuideUIHelp")
|
|
self.doGuideData = nil
|
|
self.addClickCb = nil
|
|
self.waitStep = nil
|
|
self.tbGamepadUINode = self:GetGamepadUINode()
|
|
end
|
|
function GuideCtrl:OnEnable()
|
|
NovaAPI.SetCanvasOverrideSorting(self._mapNode.imgHand1, true)
|
|
NovaAPI.SetCanvasSortingName(self._mapNode.imgHand1, AllEnum.SortingLayerName.UI_Top)
|
|
NovaAPI.SetCanvasOverrideSorting(self._mapNode.obj_texBgCanvas, true)
|
|
NovaAPI.SetCanvasSortingName(self._mapNode.obj_texBgCanvas, AllEnum.SortingLayerName.UI_Top)
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.canvasBtnClose, self._nSortingOrder + 15)
|
|
self._mapNode.EditorDebug:SetActive(false)
|
|
self._mapNode.typeMask:SetActive(false)
|
|
self._mapNode.btnClose.gameObject:SetActive(false)
|
|
self._mapNode.btnCount.gameObject:SetActive(false)
|
|
end
|
|
function GuideCtrl:ActiveGuidePanelEvent()
|
|
self._mapNode.btnHide:SetActive(true)
|
|
self.gameObject:SetActive(true)
|
|
self:DoCurrentStepGuide()
|
|
end
|
|
function GuideCtrl:DeActiveGuidePanelEvent()
|
|
self._mapNode.btnHide:SetActive(false)
|
|
self.gameObject:SetActive(false)
|
|
end
|
|
function GuideCtrl:ActiveHide(isShow)
|
|
self._mapNode.btnHide:SetActive(isShow)
|
|
end
|
|
function GuideCtrl:DoCurrentStepGuide()
|
|
local gGroupData = ConfigTable.GetData("GuideGroup", PlayerData.Guide.runGroupId)
|
|
if gGroupData == nil then
|
|
traceback("无效的引导组id" .. tostring(PlayerData.Guide.runGroupId))
|
|
return
|
|
end
|
|
if self.isDebugTest then
|
|
package.loaded["Game.UI.Guide.GuideGruop." .. gGroupData.ScriptPath] = nil
|
|
end
|
|
local luaClass = require("Game.UI.Guide.GuideGruop." .. gGroupData.ScriptPath)
|
|
if luaClass == nil then
|
|
return
|
|
end
|
|
self.curGuide = luaClass
|
|
if type(self.curGuide.Init) == "function" then
|
|
self.curGuide:Init(self, PlayerData.Guide.runStepId)
|
|
end
|
|
end
|
|
function GuideCtrl:PlayTypeMask(msg)
|
|
self._mapNode.btnShortcutClose.gameObject:SetActive(GamepadUIManager.GetInputState())
|
|
if GamepadUIManager.GetInputState() then
|
|
GamepadUIManager.EnableGamepadUI("GuideCtrl", self.tbGamepadUINode)
|
|
end
|
|
self.tmpSort = nil
|
|
local nSort = NovaAPI.GetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"))
|
|
if msg.tmpSort then
|
|
self.tmpSort = nSort
|
|
NovaAPI.SetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"), msg.tmpSort + 100)
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.imgHand1, msg.tmpSort + 115)
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.obj_texBgCanvas, msg.tmpSort + 115)
|
|
else
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.imgHand1, nSort + 15)
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.obj_texBgCanvas, nSort + 15)
|
|
end
|
|
self.pre = self.gameObject.transform.localScale.x
|
|
self._mapNode.typeMask:SetActive(false)
|
|
self._mapNode.btnClose.gameObject:SetActive(false)
|
|
self._mapNode.btnCount.gameObject:SetActive(false)
|
|
self._mapNode.btnJump.gameObject:SetActive(false)
|
|
self._mapNode.btnTempRect.gameObject:SetActive(false)
|
|
clickCount = 0
|
|
maxWaitTimeEnd = false
|
|
self.doMsg = msg
|
|
self._mapNode.btnHide:SetActive(true)
|
|
self.gameObject:SetActive(true)
|
|
self._mapNode.imgHand.gameObject:SetActive(false)
|
|
self._mapNode.typeMask:SetActive(true)
|
|
local tempRoot = GameObject.Find("---- UI ----").transform
|
|
if msg.isUITop then
|
|
tempRoot = GameObject.Find("---- UI TOP ----").transform
|
|
end
|
|
local wait = function()
|
|
maxWaitTimeEnd = true
|
|
if clickCount > maxClickCount then
|
|
local nSort = NovaAPI.GetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"))
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.btnJump.gameObject:GetComponent("Canvas"), nSort + 16)
|
|
NovaAPI.SetCanvasSortingName(self._mapNode.btnJump.gameObject:GetComponent("Canvas"), AllEnum.SortingLayerName.UI_Top)
|
|
self._mapNode.btnJump.gameObject:SetActive(true)
|
|
end
|
|
end
|
|
self.waitStep = TimerManager.Add(1, maxWaitTime, self, wait, true, true, true, nil)
|
|
local objTemp = tempRoot:Find(msg.BindIcon)
|
|
if msg.Child then
|
|
objTemp = objTemp.transform:GetChild(msg.Child).gameObject
|
|
end
|
|
local closeObj
|
|
if msg.CloseObj then
|
|
closeObj = tempRoot:Find(msg.CloseObj)
|
|
if closeObj then
|
|
closeObj.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
local deActiveBtnObj
|
|
if msg.DeActiveBtn then
|
|
deActiveBtnObj = tempRoot:Find(msg.DeActiveBtn):GetComponent("UIButton")
|
|
if deActiveBtnObj then
|
|
deActiveBtnObj.enabled = false
|
|
end
|
|
end
|
|
if objTemp == nil then
|
|
self:SendGuideStep(PlayerData.Guide.runGroupId, -1)
|
|
self:ClearCurGuide(true)
|
|
printError("没有找打引导的图标 === " .. msg.BindIcon)
|
|
return
|
|
else
|
|
self.objGuild = objTemp:GetComponent("RectTransform")
|
|
end
|
|
if msg.ScrollView then
|
|
self.objScrollView = tempRoot:Find(msg.ScrollView):GetComponent("ScrollRect")
|
|
NovaAPI.SetComponentEnable(self.objScrollView, false)
|
|
end
|
|
local sizeX = 0
|
|
local sizeY = 0
|
|
if not msg.Size then
|
|
local objRect = self.objGuild.gameObject:GetComponent("RectTransform")
|
|
sizeX = objRect.rect.width + 10
|
|
sizeY = objRect.rect.height + 10
|
|
if msg.AutoDeviationCenter then
|
|
msg.Deviation[1] = sizeX / 2 + msg.Deviation[1]
|
|
msg.Deviation[2] = -sizeY / 2 + msg.Deviation[2]
|
|
elseif msg.AutoDeviationBottom then
|
|
msg.Deviation[2] = -sizeY / 2 + msg.Deviation[2]
|
|
elseif msg.AutoDeviationTop then
|
|
msg.Deviation[2] = sizeY / 2 + msg.Deviation[2]
|
|
end
|
|
else
|
|
sizeX = msg.Size[1]
|
|
sizeY = msg.Size[2]
|
|
end
|
|
self._mapNode.imgMiddle.gameObject:SetActive(msg.isNoMiddle == nil)
|
|
local sizeXPre = sizeX * self.pre
|
|
local sizeYPre = sizeY * self.pre
|
|
local offsetXPre = msg.Deviation[1] * self.pre
|
|
local offsetYPre = msg.Deviation[2] * self.pre
|
|
local objGuildPos = self.objGuild.position
|
|
self._mapNode.imgLeft.position = Vector3(objGuildPos.x + offsetXPre - sizeXPre / 2 - self._mapNode.imgLeft.sizeDelta.x / 2 * self.pre, 0, 0)
|
|
self._mapNode.imgRight.position = Vector3(objGuildPos.x + offsetXPre + sizeXPre / 2 + self._mapNode.imgRight.sizeDelta.x / 2 * self.pre, 0, 0)
|
|
self._mapNode.imgLeft.localPosition = Vector3(self._mapNode.imgLeft.localPosition.x + 3, 0, 0)
|
|
self._mapNode.imgRight.localPosition = Vector3(self._mapNode.imgRight.localPosition.x - 3, 0, 0)
|
|
self._mapNode.imgTop.sizeDelta = Vector2(sizeX - 6, 1500)
|
|
self._mapNode.imgTop.position = Vector3(objGuildPos.x + offsetXPre, objGuildPos.y + offsetYPre + sizeYPre / 2 + self._mapNode.imgTop.sizeDelta.y / 2 * self.pre, 0)
|
|
self._mapNode.imgBottom.sizeDelta = Vector2(sizeX - 6, 1500)
|
|
self._mapNode.imgBottom.position = Vector3(objGuildPos.x + offsetXPre, objGuildPos.y + offsetYPre - sizeYPre / 2 - self._mapNode.imgBottom.sizeDelta.y / 2 * self.pre, 0)
|
|
self._mapNode.imgTop.localPosition = Vector3(self._mapNode.imgTop.localPosition.x, self._mapNode.imgTop.localPosition.y - 3, 0)
|
|
self._mapNode.imgBottom.localPosition = Vector3(self._mapNode.imgBottom.localPosition.x, self._mapNode.imgBottom.localPosition.y + 3, 0)
|
|
self._mapNode.imgMiddle.sizeDelta = Vector2(sizeX, sizeY)
|
|
self._mapNode.imgMiddle.position = objGuildPos + Vector3(offsetXPre, offsetYPre, 0)
|
|
if msg.Type == GameEnum.guidetype.ForcedClick then
|
|
self.GuideUIHelpCS:AddCanvas(self.objGuild.gameObject)
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.btnCount.gameObject:GetComponent("Canvas"), nSort + 8)
|
|
self._mapNode.btnCount.gameObject:SetActive(true)
|
|
if msg.CallB then
|
|
self._mapNode.btnTempRect.gameObject:SetActive(true)
|
|
function self.addClickCb()
|
|
if closeObj then
|
|
closeObj.gameObject:SetActive(true)
|
|
end
|
|
if deActiveBtnObj then
|
|
deActiveBtnObj.enabled = true
|
|
end
|
|
msg.CallB()
|
|
self:FinishCurrentStep()
|
|
end
|
|
self._mapNode.btnTemp.onClick:AddListener(self.addClickCb)
|
|
self._mapNode.btnTempRect.sizeDelta = Vector2(sizeX, sizeY)
|
|
self._mapNode.btnTempRect.position = objGuildPos + Vector3(offsetXPre, offsetYPre, 0)
|
|
local objBtnTempCanvase = self._mapNode.btnTempRect.gameObject:GetComponent("Canvas")
|
|
NovaAPI.SetCanvasSortingOrder(objBtnTempCanvase, nSort + 16)
|
|
NovaAPI.SetCanvasSortingName(objBtnTempCanvase, AllEnum.SortingLayerName.UI_Top)
|
|
else
|
|
function self.addClickCb()
|
|
if closeObj then
|
|
closeObj.gameObject:SetActive(true)
|
|
end
|
|
self:FinishCurrentStep()
|
|
end
|
|
self.objGuild:GetComponent("Button").onClick:AddListener(self.addClickCb)
|
|
end
|
|
self._mapNode.imgHand.gameObject:SetActive(true)
|
|
local offsetHandXPre = msg.HandDeviation[1] * self.pre
|
|
local offsetHandYPre = msg.HandDeviation[2] * self.pre
|
|
self._mapNode.imgHand.position = objGuildPos + Vector3(offsetHandXPre, offsetHandYPre, 0)
|
|
local _handRotation = 0
|
|
if msg.HandRotation then
|
|
_handRotation = msg.HandRotation
|
|
end
|
|
self._mapNode.imgHand.localRotation = Quaternion.Euler(0, 0, _handRotation)
|
|
self._mapNode.ani_Middle:Play("GuidePanelHandMiddle_inLoop")
|
|
WwiseAudioMgr:PlaySound("ui_common_guide_hint")
|
|
else
|
|
self._mapNode.ani_Middle:Play("GuidePanelHandMiddle_in")
|
|
WwiseAudioMgr:PlaySound("ui_common_guide_hint")
|
|
end
|
|
if msg.Type == GameEnum.guidetype.Introductory then
|
|
self._mapNode.btnClose.gameObject:SetActive(true)
|
|
if msg.isShowHand then
|
|
self._mapNode.imgHand.gameObject:SetActive(true)
|
|
local offsetHandXPre = msg.HandDeviation[1] * self.pre
|
|
local offsetHandYPre = msg.HandDeviation[2] * self.pre
|
|
self._mapNode.imgHand.position = objGuildPos + Vector3(offsetHandXPre, offsetHandYPre, 0)
|
|
local _handRotation = 0
|
|
if msg.HandRotation then
|
|
_handRotation = msg.HandRotation
|
|
end
|
|
self._mapNode.imgHand.localRotation = Quaternion.Euler(0, 0, _handRotation)
|
|
end
|
|
end
|
|
if msg.Desc then
|
|
self._mapNode.obj_texBg.gameObject:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.texDesc, ConfigTable.GetUIText(msg.Desc))
|
|
NovaAPI.SetTMPText(self._mapNode.texDescNoneHead, ConfigTable.GetUIText(msg.Desc))
|
|
local offsetTexXPre = msg.DescDeviation[1] * self.pre
|
|
local offsetTexYPre = msg.DescDeviation[2] * self.pre
|
|
self._mapNode.obj_texBg.position = objGuildPos + Vector3(offsetTexXPre, offsetTexYPre, 0)
|
|
self._mapNode.texDesc.gameObject:SetActive(msg.Head)
|
|
self._mapNode.texDescNoneHead.gameObject:SetActive(not msg.Head)
|
|
if msg.Head then
|
|
self._mapNode.imgHead.gameObject:SetActive(true)
|
|
self:SetPngSprite(self._mapNode.imgHead, msg.Head .. AllEnum.CharHeadIconSurfix.GD)
|
|
else
|
|
self._mapNode.imgHead.gameObject:SetActive(false)
|
|
end
|
|
else
|
|
self._mapNode.obj_texBg.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
function GuideCtrl:ShowTypePopPicture(DicId)
|
|
self._mapNode.btnHide:SetActive(false)
|
|
if DicId ~= nil then
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.DictionaryEntry, DicId, true)
|
|
end
|
|
end
|
|
function GuideCtrl:PlayAvg(AvgId)
|
|
self:ActiveHide(false)
|
|
self._mapNode.blur:SetActive(true)
|
|
local wait = function()
|
|
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
|
EventManager.Hit("StoryDialog_DialogStart", AvgId)
|
|
end
|
|
cs_coroutine.start(wait)
|
|
end
|
|
function GuideCtrl:FinishCurrentStep()
|
|
self:QuitGamepadUI()
|
|
if self.objGuild then
|
|
if self.doMsg.Type == GameEnum.guidetype.ForcedClick then
|
|
self.GuideUIHelpCS:RemoveCanvas(self.objGuild.gameObject)
|
|
if self.doMsg.CallB then
|
|
self._mapNode.btnTempRect.gameObject:SetActive(false)
|
|
self._mapNode.btnTemp.onClick:RemoveListener(self.addClickCb)
|
|
else
|
|
self.objGuild:GetComponent("Button").onClick:RemoveListener(self.addClickCb)
|
|
end
|
|
end
|
|
self.objGuild = nil
|
|
WwiseAudioMgr:PlaySound("ui_common_guide_hint_stop")
|
|
end
|
|
if self.objScrollView then
|
|
NovaAPI.SetComponentEnable(self.objScrollView, true)
|
|
self.objScrollView = nil
|
|
end
|
|
if self.tmpSort then
|
|
NovaAPI.SetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"), self.tmpSort)
|
|
end
|
|
self._mapNode.typeMask:SetActive(false)
|
|
self._mapNode.btnHide:SetActive(false)
|
|
self._mapNode.btnTemp.gameObject:SetActive(false)
|
|
self._mapNode.btnClose.gameObject:SetActive(false)
|
|
self._mapNode.btnCount.gameObject:SetActive(false)
|
|
self._mapNode.btnJump.gameObject:SetActive(false)
|
|
self.doMsg = nil
|
|
if self.waitStep then
|
|
TimerManager.Remove(self.waitStep)
|
|
self.waitStep = nil
|
|
end
|
|
if self.isDebugStep then
|
|
return
|
|
end
|
|
self.curGuide:FinishCurrentStep()
|
|
end
|
|
function GuideCtrl:OnClickCount()
|
|
clickCount = clickCount + 1
|
|
if clickCount > maxClickCount and maxWaitTimeEnd and self._mapNode.btnJump.gameObject.activeSelf == false then
|
|
local nSort = NovaAPI.GetCanvasSortingOrder(self.gameObject:GetComponent("Canvas"))
|
|
NovaAPI.SetCanvasSortingOrder(self._mapNode.btnJump.gameObject:GetComponent("Canvas"), nSort + 16)
|
|
NovaAPI.SetCanvasSortingName(self._mapNode.btnJump.gameObject:GetComponent("Canvas"), AllEnum.SortingLayerName.UI_Top)
|
|
self._mapNode.btnJump.gameObject:SetActive(true)
|
|
end
|
|
end
|
|
function GuideCtrl:OnClickJump()
|
|
local confirmCallback = function()
|
|
self:SendGuideStep(PlayerData.Guide.runGroupId, -1)
|
|
if self.objGuild then
|
|
if self.doMsg.Type == GameEnum.guidetype.ForcedClick and self.objGuild.gameObject ~= nil then
|
|
self.GuideUIHelpCS:RemoveCanvas(self.objGuild.gameObject)
|
|
self.objGuild:GetComponent("Button").onClick:RemoveListener(self.addClickCb)
|
|
end
|
|
self.objGuild = nil
|
|
WwiseAudioMgr:PlaySound("ui_common_guide_hint_stop")
|
|
end
|
|
self.doMsg = nil
|
|
self:ClearCurGuide(true)
|
|
end
|
|
local msg = {
|
|
nType = AllEnum.MessageBox.Confirm,
|
|
sContent = ConfigTable.GetUIText("Guide_Jump_Tips"),
|
|
callbackConfirm = confirmCallback,
|
|
bBlur = false
|
|
}
|
|
EventManager.Hit(EventId.OpenMessageBox, msg)
|
|
end
|
|
function GuideCtrl:SendGuideStep(groupId, stepId)
|
|
if self.isDebugTest then
|
|
return
|
|
end
|
|
PlayerData.Guide:SetPlayerLearnReq(groupId, stepId)
|
|
end
|
|
function GuideCtrl:ClearCurGuide(isCheak)
|
|
self:QuitGamepadUI()
|
|
self._mapNode.typeMask:SetActive(false)
|
|
self._mapNode.btnHide:SetActive(false)
|
|
self._mapNode.btnClose.gameObject:SetActive(false)
|
|
self._mapNode.btnCount.gameObject:SetActive(false)
|
|
self._mapNode.btnJump.gameObject:SetActive(false)
|
|
self.curGuide:Clear()
|
|
self.curGuide = nil
|
|
self.gameObject:SetActive(false)
|
|
if self.waitStep then
|
|
TimerManager.Remove(self.waitStep)
|
|
self.waitStep = nil
|
|
end
|
|
if self.isDebugStep then
|
|
isCheak = false
|
|
end
|
|
PlayerData.Guide:FinishCurrentGroup(isCheak)
|
|
end
|
|
function GuideCtrl:NewDayClearGuide()
|
|
if PlayerData.Guide:GetGuideState() then
|
|
if self.objGuild then
|
|
if self.doMsg.Type == GameEnum.guidetype.ForcedClick then
|
|
self.GuideUIHelpCS:RemoveCanvas(self.objGuild.gameObject)
|
|
self.objGuild:GetComponent("Button").onClick:RemoveListener(self.addClickCb)
|
|
end
|
|
self.objGuild = nil
|
|
end
|
|
self.doMsg = nil
|
|
self:ClearCurGuide(false)
|
|
end
|
|
end
|
|
function GuideCtrl:OnDisable()
|
|
end
|
|
function GuideCtrl:OnDestroy()
|
|
self.doGuideData = nil
|
|
end
|
|
function GuideCtrl:QuitGamepadUI()
|
|
self._mapNode.btnShortcutClose.gameObject:SetActive(false)
|
|
if GamepadUIManager.GetInputState() then
|
|
GamepadUIManager.DisableGamepadUI("GuideCtrl")
|
|
end
|
|
end
|
|
function GuideCtrl:OnEvent_StoryDialog_DialogEnd()
|
|
if self._mapNode.blur.activeSelf == false then
|
|
return
|
|
end
|
|
self._mapNode.aniBlur:SetTrigger("tOut")
|
|
self:AddTimer(1, 0.2, function()
|
|
self._mapNode.blur:SetActive(false)
|
|
end, true, true, true)
|
|
end
|
|
function GuideCtrl:DebugEditorStep()
|
|
if self.curGuide ~= nil then
|
|
self:ClearCurGuide(false)
|
|
end
|
|
self.isDebugTest = true
|
|
if NovaAPI.GetInputFieldText(self._mapNode.InputFieldPassive) ~= "" then
|
|
local tmpMsg = NovaAPI.GetInputFieldText(self._mapNode.InputFieldPassive)
|
|
for i, v in pairs(PlayerData.Guide._guidePassiveTableData) do
|
|
if v.PassiveMsg == tmpMsg then
|
|
PlayerData.Guide.runGroupId = v.Id
|
|
PlayerData.Guide.runStepId = 0
|
|
PlayerData.Guide.isProcessing = true
|
|
self:ActiveGuidePanelEvent()
|
|
end
|
|
end
|
|
return
|
|
end
|
|
if NovaAPI.GetInputFieldText(self._mapNode.InputFieldStep) == "" then
|
|
PlayerData.Guide.runGroupId = tonumber(NovaAPI.GetInputFieldText(self._mapNode.InputFieldDebug))
|
|
PlayerData.Guide.runStepId = 0
|
|
PlayerData.Guide.isProcessing = true
|
|
self:ActiveGuidePanelEvent()
|
|
else
|
|
self.isDebugStep = true
|
|
self.curGuide = nil
|
|
local debugG = tonumber(NovaAPI.GetInputFieldText(self._mapNode.InputFieldDebug))
|
|
local debugS = tonumber(NovaAPI.GetInputFieldText(self._mapNode.InputFieldStep))
|
|
local gGroupData = ConfigTable.GetData("GuideGroup", debugG)
|
|
package.loaded["Game.UI.Guide.GuideGruop." .. gGroupData.ScriptPath] = nil
|
|
local luaClass = require("Game.UI.Guide.GuideGruop." .. gGroupData.ScriptPath)
|
|
if luaClass == nil then
|
|
return
|
|
end
|
|
self.curGuide = luaClass
|
|
self.curGuide.parent = self
|
|
self.curGuide:BindEvent()
|
|
PlayerData.Guide.isProcessing = true
|
|
local funName = "Step_" .. debugS
|
|
local func = handler(self.curGuide, self.curGuide[funName])
|
|
func()
|
|
if self.curGuide.waitAinEnd then
|
|
self:PlayTypeMask(self.curGuide.msg)
|
|
end
|
|
end
|
|
end
|
|
function GuideCtrl:DebugEditorClear()
|
|
if self.curGuide ~= nil then
|
|
self:ClearCurGuide(false)
|
|
end
|
|
end
|
|
function GuideCtrl:UserEventUpload(strEventName, parme1, parme2)
|
|
end
|
|
return GuideCtrl
|