local Action_RoundStart = { } -- 触发器激活时,将执行Action的Execute function Action_RoundStart:Execute(...) -- 倒计时时间 UGCLogSystem.Log("[Action_RoundStart:Execute] 执行") self.LastRoundTime = DefaultSettings.RoundInfo.EachRoundTime; -- self.CounterTime = 0.; self.TotalRoundTime = self.LastRoundTime; -- 销毁所有载具 UGCGameSystem.GameState:DestroyVehicles(); --- 激活 Pawn --UE.RespawnAllPlayer(0.5); UGCEventSystem.SetTimer(self, function() UGCGameSystem.SendModeCustomEvent("ResetAllPlayer") end, 1); UGCGameSystem.GameState:StartRound(); self.bEnableActionTick = true; return true; end -- 需要勾选Action的EnableTick,才会执行Update -- 触发器激活后,将在每个tick执行Action的Update,直到self.bEnableActionTick为false function Action_RoundStart:Update(DeltaSeconds) if self.LastRoundTime > 0. then self.LastRoundTime = self.LastRoundTime - DeltaSeconds; self.CounterTime = self.CounterTime + DeltaSeconds; if self.CounterTime >= 1 then self.CounterTime = self.CounterTime - 1; if self.LastRoundTime > 0 then UGCGameSystem.GameState:UpdateRoundTime(self.LastRoundTime); end end if self.LastRoundTime <= 0 then UGCLogSystem.Log("[Action_RoundStart:Update] 进入 Round Settle"); UGCGameSystem.GameState:UpdateRoundTime(); self.bEnableActionTick = false; end end end return Action_RoundStart;