Files
SL1900 08b515afd9 Major Update - 2.0.0.143
EN: 2.0.0.143
CN: 2.0.0.142
JP: 2.0.0.145
KR: 2.0.0.150
2026-10-20 13:00:00 +09:00

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