08b515afd9
EN: 2.0.0.143 CN: 2.0.0.142 JP: 2.0.0.145 KR: 2.0.0.150
154 lines
3.5 KiB
Lua
154 lines
3.5 KiB
Lua
local GuideGroup_526 = class("GuideGroup_526")
|
|
local DormGuideUI = require("Game.UI.Dorm.DormGuideUI")
|
|
local DormGuideAdapter = require("Game.UI.Dorm.DormGuideAdapter")
|
|
GuideGroup_526.nGroupId = 526
|
|
GuideGroup_526.nGuideType = AllEnum.GuideType.Dorm
|
|
GuideGroup_526.bNeedCheckpoint = true
|
|
local nDictId = 700106
|
|
local sHead = "Icon/Head/head_11101"
|
|
local CAP = DormGuideUI.InputCap
|
|
local bKingRequested = false
|
|
local EnsureKingMode = function()
|
|
local nState = DormGuideAdapter.ObserveState()
|
|
if nState == nil then
|
|
return false
|
|
end
|
|
if nState == 0 and DormGuideAdapter.Mode() == 0 then
|
|
return true
|
|
end
|
|
if bKingRequested then
|
|
return DormGuideAdapter.ObserveState() == 0 and DormGuideAdapter.Mode() == 0
|
|
end
|
|
if nState ~= 1 and DormGuideAdapter.Mode() ~= 1 then
|
|
return false
|
|
end
|
|
local obj = DormGuideAdapter._Interactive()
|
|
if obj == nil or type(obj.OnBtnClick_Operate) ~= "function" then
|
|
return false
|
|
end
|
|
bKingRequested = true
|
|
obj:OnBtnClick_Operate()
|
|
return DormGuideAdapter.ObserveState() == 0 and DormGuideAdapter.Mode() == 0
|
|
end
|
|
local Mask = function(sDesc)
|
|
return {
|
|
Size = {220, 220},
|
|
Deviation = {0, -5},
|
|
Desc = sDesc,
|
|
DescDeviation = {-800, 0},
|
|
HandDeviation = {0, 150},
|
|
HandRotation = 180
|
|
}
|
|
end
|
|
function GuideGroup_526:OnStart()
|
|
end
|
|
function GuideGroup_526:OnClear()
|
|
bKingRequested = false
|
|
DormGuideAdapter.ReleaseGuide()
|
|
end
|
|
function GuideGroup_526:GetSteps()
|
|
return {
|
|
{
|
|
sName = "to_king",
|
|
ShouldRun = function()
|
|
local nState = DormGuideAdapter.ObserveState()
|
|
if nState == nil then
|
|
return "run"
|
|
end
|
|
if nState == 0 and DormGuideAdapter.Mode() == 0 then
|
|
return "skip"
|
|
end
|
|
return "run"
|
|
end,
|
|
WaitTrigger = {
|
|
Ready = function()
|
|
return EnsureKingMode()
|
|
end,
|
|
Events = {
|
|
"DormGuide_ModeApplied"
|
|
},
|
|
Timeout = 300
|
|
},
|
|
Present = {sKind = "None"},
|
|
InputPolicy = {
|
|
nSceneCap = DormGuideUI.DEFAULT_BLOCK | CAP.Move,
|
|
bUiBarrier = true,
|
|
bLockLeave = true,
|
|
bHideChrome = false
|
|
},
|
|
End = {
|
|
sMode = "Condition",
|
|
Ready = function()
|
|
return true
|
|
end
|
|
}
|
|
},
|
|
{
|
|
sName = "observe",
|
|
bPlayerWait = true,
|
|
bReportDone = true,
|
|
WaitTrigger = {
|
|
Ready = function()
|
|
return DormGuideAdapter.ObserveState() == 0
|
|
end,
|
|
Events = {
|
|
"DormGuide_ModeApplied"
|
|
},
|
|
Timeout = 300
|
|
},
|
|
Poll = function()
|
|
local obj = DormGuideAdapter._Interactive()
|
|
if obj == nil or obj._mapNode == nil then
|
|
return nil
|
|
end
|
|
return DormGuideAdapter.NodeTr(obj._mapNode.btnObserve)
|
|
end,
|
|
Present = {
|
|
sKind = "Mask",
|
|
mapMask = Mask("Guide_526_1"),
|
|
Show = function(_, tr)
|
|
if tr ~= nil then
|
|
tr.gameObject:SetActive(true)
|
|
end
|
|
end
|
|
},
|
|
InputPolicy = {
|
|
nSceneCap = DormGuideUI.DEFAULT_BLOCK | CAP.Move,
|
|
bUiBarrier = true,
|
|
bLockLeave = true,
|
|
bHideChrome = false
|
|
},
|
|
Action = function()
|
|
local obj = DormGuideAdapter._Interactive()
|
|
if obj == nil or type(obj.OnBtnClick_Observe) ~= "function" then
|
|
return {sState = "rejected"}
|
|
end
|
|
obj:OnBtnClick_Observe()
|
|
if DormGuideAdapter.ObserveState() ~= 1 then
|
|
return {sState = "rejected"}
|
|
end
|
|
return {sState = "accepted"}
|
|
end,
|
|
End = {sMode = "Click"}
|
|
},
|
|
{
|
|
sName = "dict",
|
|
bPlayerWait = true,
|
|
Present = {sKind = "Dict", nDictId = nDictId},
|
|
InputPolicy = {
|
|
nSceneCap = DormGuideUI.DEFAULT_BLOCK | CAP.Move,
|
|
bUiBarrier = false,
|
|
bLockLeave = false,
|
|
bHideChrome = false
|
|
},
|
|
End = {
|
|
sMode = "Condition",
|
|
Ready = function()
|
|
return false
|
|
end
|
|
}
|
|
}
|
|
}
|
|
end
|
|
return GuideGroup_526
|