mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-01-12 16:19:22 +03:00
175 lines
4.2 KiB
Lua
175 lines
4.2 KiB
Lua
require('Actor/ActorCommon')
|
|
local quest411 = require('Actor/Quest/SQ411')
|
|
local npcActorProxy = require('Actor/Npc/NpcActorProxy')
|
|
|
|
local Qin = class("Qin", npcActorProxy)
|
|
|
|
Qin.defaultAlias = "Qin"
|
|
|
|
-- local config begin
|
|
local q411Cfg = require('Actor/Quest/Q411/Q411Config')
|
|
local q378Cfg = require('Quest/Client/Q378ClientConfig')
|
|
local QinData = q411Cfg.QinData
|
|
|
|
function Qin:PreGetAlias()
|
|
local Qin = QinData.Qin
|
|
return Qin
|
|
end
|
|
-- local config end
|
|
|
|
-- local param begin
|
|
-- local param end
|
|
|
|
-- local method
|
|
function Qin:RunToMerchant()
|
|
self:ClearFollowTask()
|
|
self:RunToTask(sceneData:GetDummyPoint(3, "Q411QinBuyMusic").pos,
|
|
function(self, task)
|
|
self:TurnTo(M.Euler2DirXZ(sceneData:GetDummyPoint(3, "Q411QinBuyMusic").rot))
|
|
self:Standby()
|
|
end
|
|
)
|
|
end
|
|
|
|
function Qin:RunToWatchSunRise()
|
|
self:ClearFollowTask()
|
|
self:RunToTask(sceneData:GetDummyPoint(3, "Q411QinWatchSunRise").pos,
|
|
function(self, task)
|
|
self:TurnTo(M.Euler2DirXZ(sceneData:GetDummyPoint(3, "Q411QinWatchSunRise").rot))
|
|
self:Standby()
|
|
end
|
|
)
|
|
end
|
|
|
|
function Qin:TransPreCallBack(qCfg)
|
|
print("TransPreCallBack")
|
|
local avatarEular = self:GetEuler()
|
|
self.uActor:SetAvatarEuler(avatarEular)
|
|
self:AddPriorityInter(InterTimingType.BTN, qCfg.PlayerBackInter)
|
|
local quest = actorMgr:GetActor(qCfg.ActorAlias)
|
|
quest:RequestInteraction(qCfg.QinData.Qin)
|
|
self:ActionSafeCall(function (actor)
|
|
self:ClearPriorityInter(InterTimingType.BTN)
|
|
end)
|
|
end
|
|
|
|
function Qin:TransFinishCallBack(qCfg)
|
|
print("TransFinishCallBack")
|
|
end
|
|
|
|
-- local config end
|
|
|
|
-- local param begin
|
|
-- local param end
|
|
|
|
-- local method
|
|
function Qin:WalkFollow()
|
|
print("WalkFollow")
|
|
self:ClearFollowTask()
|
|
self:BeFollowTask(q378Cfg.QinData.followPos1, q378Cfg.FollowLen, -1,
|
|
function(self, task)
|
|
if self.BeFollowState == BeFollowState.FAILED then
|
|
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
self:StopNarrator()
|
|
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
|
self:WalkFollow2()
|
|
end
|
|
end,
|
|
function(self, task)
|
|
self:Standby()
|
|
end
|
|
)
|
|
-- self:BeLockTask(q378Cfg.FollowTransLen, 1,
|
|
-- function(self)
|
|
-- self:TransFinishCallBack(q378Cfg)
|
|
-- end,
|
|
-- function(self)
|
|
-- self:TransPreCallBack(q378Cfg)
|
|
-- end
|
|
-- )
|
|
end
|
|
|
|
function Qin:WalkFollow2()
|
|
print("WalkFollow")
|
|
self:ClearFollowTask()
|
|
self:BeFollowTask(q378Cfg.QinData.followPos2, q378Cfg.FollowLen, -1,
|
|
function(self, task)
|
|
if self.BeFollowState == BeFollowState.FAILED then
|
|
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
self:StopNarrator()
|
|
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
|
self:WalkFollow3()
|
|
end
|
|
end,
|
|
function(self, task)
|
|
self:Standby()
|
|
end
|
|
)
|
|
end
|
|
|
|
function Qin:WalkFollow3()
|
|
print("WalkFollow")
|
|
self:ClearFollowTask()
|
|
self:BeFollowTask(q378Cfg.QinData.followPos3, q378Cfg.FollowLen, -1,
|
|
function(self, task)
|
|
if self.BeFollowState == BeFollowState.FAILED then
|
|
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
self:StopNarrator()
|
|
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
|
self:WalkFollow4()
|
|
end
|
|
end,
|
|
function(self, task)
|
|
self:Standby()
|
|
end
|
|
)
|
|
end
|
|
|
|
function Qin:WalkFollow4()
|
|
print("WalkFollow")
|
|
self:ClearFollowTask()
|
|
self:BeFollowTask(q378Cfg.QinData.bornPos2, q378Cfg.FollowLen, -1,
|
|
function(self, task)
|
|
if self.BeFollowState == BeFollowState.FAILED then
|
|
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
self:StopNarrator()
|
|
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
|
self:TurnTo(M.Euler2DirXZ(q378Cfg.QinData.bornDir2))
|
|
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
end,
|
|
function(self, task)
|
|
self:Standby()
|
|
end
|
|
)
|
|
end
|
|
|
|
-- local method end
|
|
|
|
function Qin:Start()
|
|
print("start!Qin")
|
|
--self:SetPos(QinData.bornPos)
|
|
-- self:StartDance()
|
|
-- self:CallDelay(10, self.FinishDance)
|
|
end
|
|
|
|
function Qin:OnDestroy()
|
|
print("Qin " .. QinData.QinID .. " destroied")
|
|
end
|
|
|
|
return Qin |