function LoadInitTable() ---@type table local AllInitStarts = {}; UE.FindActorsByClass(ObjectPath.BP_ActorStart, AllInitStarts); local NoTagActors = {}; local TagActors = {}; for i, Start in pairs(AllInitStarts) do if Start.Tags:Num() > 0 then for Tag, Obj in pairs(InitTable) do if Start:ActorHasTag(Tag) then -- 在此创建一个 if TagActors[Tag] == nil then TagActors[Tag] = {}; end table.insert(TagActors[Tag], Start); -- 直接生成 ObjectPath.AddFunc(Obj, function(TargetClass) local Actor = UE.SpawnActor(TargetClass, GameState, VectorHelper.Add(Start:K2_GetActorLocation(), VectorHelper.MakeVector(0, 0, 50)));; if InitTableActors[Tag] == nil then InitTableActors[Tag] = {}; end table.insert(InitTableActors[Tag], Actor); end); end end else table.insert(NoTagActors, Start); end end UGCLogSystem.LogTree(string.format("[LoadInitTable] TagActors ="), TagActors) UGCLogSystem.LogTree(string.format("[LoadInitTable] NoTagActors ="), NoTagActors) UGCLogSystem.LogTree(string.format("[LoadInitTable] InitTableActors ="), InitTableActors); end InitTable = { ['Hold'] = "BP_HoldPoint", }; InitTableActors = {};