mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-26 07:49:29 +03:00
106 lines
3.6 KiB
Lua
106 lines
3.6 KiB
Lua
|
require('Actor/ActorCommon')
|
|||
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|||
|
|
|||
|
local Quest360 = class("Quest360", questActorProxy)
|
|||
|
|
|||
|
Quest360.defaultAlias = "Quest360"
|
|||
|
|
|||
|
local q360Cfg = require('Quest/Client/Q360ClientConfig')
|
|||
|
|
|||
|
-- Generated
|
|||
|
function Quest360:OnSubStartHandlerBuild()
|
|||
|
self.subStartHandlers = {}
|
|||
|
self.subStartHandlers["36001"] = self.OnSubStart36001
|
|||
|
--self.subStartHandlers["36002"] = self.OnSubStart36002
|
|||
|
self.subStartHandlers["36003"] = self.OnSubStart36003
|
|||
|
self.subStartHandlers["36004"] = self.OnSubStart36004
|
|||
|
self.subStartHandlers["36005"] = self.OnSubStart36005
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:OnSubFinishHandlerBuild()
|
|||
|
self.subFinishHandlers = {}
|
|||
|
self.subFinishHandlers["36001"] = self.OnSubFinish36001
|
|||
|
--self.subFinishHandlers["36002"] = self.OnSubFinish36002
|
|||
|
self.subFinishHandlers["36003"] = self.OnSubFinish36003
|
|||
|
self.subFinishHandlers["36004"] = self.OnSubFinish36004
|
|||
|
self.subFinishHandlers["36005"] = self.OnSubFinish36005
|
|||
|
end
|
|||
|
|
|||
|
---sub start & finish 内调用的函数
|
|||
|
function Quest360:OnEnableInput()
|
|||
|
print("360 Finish: Enable Player Input")
|
|||
|
globalActor:EnablePlayerInput(true)
|
|||
|
end
|
|||
|
|
|||
|
--@region sub start & finish handlers
|
|||
|
---按流程触发顺序
|
|||
|
---当OnSubFinish当前环和OnSubStart下一环等效时,写在OnSubFinish内,否则断线重连流程可能和OnSubStart流程重复执行
|
|||
|
function Quest360:OnSubStart36001(quest)
|
|||
|
print("36001 Start : Story1")
|
|||
|
-- self:NarratorOnlyTask(self.clientData.NarratorData.Story1)
|
|||
|
-- self:EnterSceneLookCamera(sceneData:GetDummyPoint(3,"Q360qqLook1").pos, 1, 2, true)
|
|||
|
-- globalActor:StopLocalAvatar()
|
|||
|
-- globalActor:EnablePlayerInput(false)
|
|||
|
-- self:CallDelay(2, self.OnEnableInput)
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:OnSubFinish36001(quest)
|
|||
|
print("36001 Finish : Story2")
|
|||
|
self:NarratorOnlyTask(self.clientData.NarratorData.Story2)
|
|||
|
--self:EnterSceneLookCamera(sceneData:GetDummyPoint(3,"Q360qq2").pos, 7, 3, true)
|
|||
|
-- globalActor:StopLocalAvatar()
|
|||
|
-- globalActor:EnablePlayerInput(false)
|
|||
|
-- self:CallDelay(3, self.OnEnableInput)
|
|||
|
end
|
|||
|
|
|||
|
--[[ function Quest360:OnSubFinish36002(quest)
|
|||
|
print("36002 Finish : Story3")
|
|||
|
self:NarratorOnlyTask(self.clientData.NarratorData.Story3)
|
|||
|
end ]]
|
|||
|
|
|||
|
function Quest360:OnSubFinish36003(quest)
|
|||
|
print("36003 Finish : Creat NPC")
|
|||
|
end
|
|||
|
function Quest360:Interact()
|
|||
|
local AmborData = self.clientData.AmborData
|
|||
|
actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos1, AmborData.Dir1, true, false)
|
|||
|
self:RequestInteraction(AmborData.Ambor)
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:OnSubStart36004(quest)
|
|||
|
print("36004 Start : interact")
|
|||
|
self:ShowBlackScreen(0.5, 1.0, 0.5, self.Interact)
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:OnSubFinish36004(quest)
|
|||
|
print("36004 Finish : Ambor Vanish")
|
|||
|
self:ActionPreSafeCall(self.Finish36004Do)
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:Finish36004Do(quest)
|
|||
|
local AmborData = self.clientData.AmborData
|
|||
|
actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos2, AmborData.Dir2, true, false)
|
|||
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|||
|
paimon:VanishKeep()
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:OnSubFinish36005(quest)
|
|||
|
print("36005 Finish : Cs_AM_FirstArrive_CutScene2")
|
|||
|
globalActor:StopLocalAvatar()
|
|||
|
globalActor:FinishAllNarrator()
|
|||
|
self:PlayCutscene(self.clientData.InterData.Cutscene1, self.On36005CutsceneFinish)
|
|||
|
end
|
|||
|
function Quest360:On36005CutsceneFinish()
|
|||
|
local AmborData = self.clientData.AmborData
|
|||
|
actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos3, AmborData.Dir3, true, false)
|
|||
|
end
|
|||
|
|
|||
|
--@endregion
|
|||
|
|
|||
|
function Quest360:Start()
|
|||
|
end
|
|||
|
|
|||
|
function Quest360:OnDestroy()
|
|||
|
end
|
|||
|
|
|||
|
return Quest360
|