GSServer-CBT/soggy_resources/lua/Actor/Gadget/RunCoinStart.lua
Akbar Yahya e0d4d8040c melon
2022-11-21 16:30:31 +08:00

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