68 lines
1.9 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
---@class BP_HoldStarts_C:AActor
---@field BP_PlayerStartBase5 UChildActorComponent
---@field BP_PlayerStartBase4 UChildActorComponent
---@field BP_PlayerStartBase3 UChildActorComponent
---@field BP_PlayerStartBase2 UChildActorComponent
---@field BP_PlayerStartBase1 UChildActorComponent
---@field BP_PlayerStartBase UChildActorComponent
---@field DefaultSceneRoot USceneComponent
---@field Index int32
--Edit Below--
---@type BP_HoldStarts_C
local BP_HoldStarts = {}
function BP_HoldStarts:ReceiveBeginPlay()
BP_HoldStarts.SuperClass.ReceiveBeginPlay(self)
-- 距离过远不会加载,因此需要判断一下
UE.ForeachChildrenComponent(self.DefaultSceneRoot, function(Component)
if Component.ChildActor then
Component.ChildActor.PlayerBornPointID = self.Index;
if IsServer then
-- 这是服务器加载此时将子Actor加载到列表中
if table.isEmpty(GlobalStartManager.AllPlayerStarts) then
table.insert(GlobalStartManager.AllPlayerStarts, Component.ChildActor);
end
if self.Index ~= 0 then
if GlobalStartManager.InitPlayerStarts[self.Index] == nil then
GlobalStartManager.InitPlayerStarts[self.Index] = {};
end
table.insert(GlobalStartManager.InitPlayerStarts[self.Index], Component.ChildActor);
end
end
end
end);
if IsServer then
UGCLogSystem.LogTree(string.format("[BP_HoldStarts:ReceiveBeginPlay] AllPlayerStarts"), GlobalStartManager.AllPlayerStarts);
UGCLogSystem.LogTree(string.format("[BP_HoldStarts:ReceiveBeginPlay] InitPlayerStarts"), GlobalStartManager.InitPlayerStarts);
end
end
--[[
function BP_HoldStarts:ReceiveTick(DeltaTime)
BP_HoldStarts.SuperClass.ReceiveTick(self, DeltaTime)
end
--]]
--[[
function BP_HoldStarts:ReceiveEndPlay()
BP_HoldStarts.SuperClass.ReceiveEndPlay(self)
end
--]]
--[[
function BP_HoldStarts:GetReplicatedProperties()
return
end
--]]
--[[
function BP_HoldStarts:GetAvailableServerRPCs()
return
end
--]]
return BP_HoldStarts