Cargo shuttle changes (#14363)
This commit is contained in:
@@ -16,23 +16,25 @@ public sealed partial class DockingSystem
|
||||
var dockingQuery = GetEntityQuery<DockingComponent>();
|
||||
var xformQuery = GetEntityQuery<TransformComponent>();
|
||||
var recentQuery = GetEntityQuery<RecentlyDockedComponent>();
|
||||
var query = EntityQueryEnumerator<AutoDockComponent, PhysicsComponent>();
|
||||
|
||||
foreach (var (comp, body) in EntityQuery<AutoDockComponent, PhysicsComponent>())
|
||||
while (query.MoveNext(out var dockUid, out var comp, out var body))
|
||||
{
|
||||
if (comp.Requesters.Count == 0 || !dockingQuery.TryGetComponent(comp.Owner, out var dock))
|
||||
if (comp.Requesters.Count == 0 || !dockingQuery.TryGetComponent(dockUid, out var dock))
|
||||
{
|
||||
RemComp<AutoDockComponent>(comp.Owner);
|
||||
RemComp<AutoDockComponent>(dockUid);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Don't re-dock if we're already docked or recently were.
|
||||
if (dock.Docked || recentQuery.HasComponent(comp.Owner)) continue;
|
||||
if (dock.Docked || recentQuery.HasComponent(dockUid))
|
||||
continue;
|
||||
|
||||
var dockable = GetDockable(body, xformQuery.GetComponent(comp.Owner));
|
||||
var dockable = GetDockable(body, xformQuery.GetComponent(dockUid));
|
||||
|
||||
if (dockable == null) continue;
|
||||
|
||||
TryDock(dock, dockable);
|
||||
TryDock(dockUid, dock, dockable.Owner, dockable);
|
||||
}
|
||||
|
||||
// Work out recent docks that have gone past their designated threshold.
|
||||
|
||||
Reference in New Issue
Block a user