mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-25 15:29:22 +03:00
85 lines
2.4 KiB
Lua
85 lines
2.4 KiB
Lua
require('Actor/ActorCommon')
|
|
local gadgetActorProxy = require('Actor/Gadget/GadgetActorProxy')
|
|
|
|
local RunCoinStart = class("RunCoinStart", gadgetActorProxy)
|
|
|
|
RunCoinStart.defaultAlias = "RunCoinStart"
|
|
|
|
local q416Cfg = require('Quest/Client/Q416ClientConfig')
|
|
|
|
local function EndGame()
|
|
globalActor:CountNumUITerminate()
|
|
local currentCoin = actorMgr:GetActor("RunCoinStart")
|
|
if currentCoin ~= nil then
|
|
currentCoin:DestroySelf()
|
|
end
|
|
local quest = actorMgr:GetActor(q416Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
q416Cfg.NextNum = 1
|
|
end
|
|
|
|
local function CreateNext()
|
|
if q416Cfg.NextNum < q416Cfg.CoinNum +1 then
|
|
actorMgr:CreateActorWithPos("RunCoinStart", "Actor/Gadget/RunCoinStart", 70300004, 0, q416Cfg.CoinPos[q416Cfg.NextNum].pos, q416Cfg.CoinPos[q416Cfg.NextNum].rot, true, false)
|
|
local currentCoin = actorMgr:GetActor("RunCoinStart")
|
|
if currentCoin ~= nil then
|
|
currentCoin:CallDelay(3, EndGame)
|
|
end
|
|
else
|
|
-- local quest = actorMgr:GetActor(q416Cfg.ActorAlias)
|
|
-- if quest ~= nil then
|
|
-- quest:FinishQuest(false, nil)
|
|
-- end
|
|
for i=1, q416Cfg.CoinNum do
|
|
globalActor:SpawnItem(104011, q416Cfg.CoinPos[i].pos, nil, "BigApple" .. tostring(i))
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
function RunCoinStart:OnPostDataPrepare()
|
|
end
|
|
|
|
function RunCoinStart:OnPostComponentPrepare()
|
|
self:AddComponentTrigger(1, DistType.EULER, M.Pos(0, 0, 0), self.TriggerIn, self.TriggerOut)
|
|
end
|
|
|
|
function RunCoinStart:TriggerIn()
|
|
-- local quest = actorMgr:GetActor(q416Cfg.ActorAlias)
|
|
-- if quest ~= nil then
|
|
-- quest:FinishQuest(false, nil)
|
|
-- end
|
|
if q416Cfg.NextNum == 1 then
|
|
local quest = actorMgr:GetActor(q416Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
|
|
self:CountNumUIStart()
|
|
else
|
|
self:UnCallFunc(EndGame)
|
|
end
|
|
|
|
local effctPos = self:GetPos()
|
|
if q416Cfg.NextNum < q416Cfg.CoinNum then
|
|
self:PlayEffect("FlyRace_Marker_Active_AS", effctPos)
|
|
else
|
|
self:PlayEffect("FlyRace_Goal_Marker_AS", effctPos)
|
|
self:CountNumUITerminate()
|
|
end
|
|
|
|
self:CountNumUIUpdate(q416Cfg.NextNum)
|
|
q416Cfg.NextNum = q416Cfg.NextNum + 1
|
|
self:DestroySelf()
|
|
CreateNext()
|
|
end
|
|
|
|
function RunCoinStart:TriggerOut()
|
|
-- outCnt = outCnt + 1
|
|
--print("Exit " .. tostring(outCnt))
|
|
--self:DestroySelf()
|
|
end
|
|
|
|
return RunCoinStart |