Shuttle console + FTL rework (#24430)
* Add shuttle interior drawing back Just do it per-tile she'll be right, at least it's done with 1 draw call. * Revamp shuttle console * Bunch of cleanup work * Lables sortito * dok * Pixel alignment and colours * Fix a bunch of drawing bugs * Shuttle map drawing * Drawing fixes * Map parallax working finally * weh * Commit all my stuff * mic * deez * Update everything * Xamlify everything * uh * Rudimentary blocker range * My enemies have succeeded * Bunch of changes to FTL * Heaps of cleanup * Fix FTL bugs * FTL * weewoo * FTL fallback * wew * weh * Basic FTL working * FTL working * FTL destination fixes * a * Exclusion zones * Fix drawing / FTL * Beacons working * Coordinates drawing * Fix unknown map names * Dorks beginning * State + docking cleanup start * Basic dock drawing * Bunch of drawing fixes * Batching / color fixes * Cleanup and beacons support * weh * weh * Begin pings * First draft at map objects * Map fixup * Faster drawing * Fix perf + FTL * Cached drawing * Fix drawing * Best I got * strips * Back to lists but with caching * Final optimisation * Fix dock bounds * Docking work * stinker * kobolds * Btns * Docking vis working * Fix docking pre-vis * canasses * Helldivers 2 * a * Array life * Fix * Fix TODOs * liltenhead feature club * dorking * Merge artifacts * Last-minute touchup
This commit is contained in:
@@ -163,15 +163,15 @@ public sealed partial class EmergencyShuttleSystem
|
||||
|
||||
if (!Deleted(centcomm.Entity))
|
||||
{
|
||||
_shuttle.FTLTravel(comp.EmergencyShuttle.Value, shuttle,
|
||||
centcomm.Entity.Value, _consoleAccumulator, TransitTime, true);
|
||||
_shuttle.FTLToDock(comp.EmergencyShuttle.Value, shuttle,
|
||||
centcomm.Entity.Value, _consoleAccumulator, TransitTime);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!Deleted(centcomm.MapEntity))
|
||||
{
|
||||
// TODO: Need to get non-overlapping positions.
|
||||
_shuttle.FTLTravel(comp.EmergencyShuttle.Value, shuttle,
|
||||
_shuttle.FTLToCoordinates(comp.EmergencyShuttle.Value, shuttle,
|
||||
new EntityCoordinates(centcomm.MapEntity.Value,
|
||||
_random.NextVector2(1000f)), _consoleAccumulator, TransitTime);
|
||||
}
|
||||
@@ -201,7 +201,7 @@ public sealed partial class EmergencyShuttleSystem
|
||||
}
|
||||
|
||||
// Don't dock them. If you do end up doing this then stagger launch.
|
||||
_shuttle.FTLTravel(uid, shuttle, centcomm.Entity.Value, hyperspaceTime: TransitTime);
|
||||
_shuttle.FTLToDock(uid, shuttle, centcomm.Entity.Value, hyperspaceTime: TransitTime);
|
||||
RemCompDeferred<EscapePodComponent>(uid);
|
||||
}
|
||||
|
||||
@@ -217,15 +217,18 @@ public sealed partial class EmergencyShuttleSystem
|
||||
// All the others.
|
||||
if (_consoleAccumulator < minTime)
|
||||
{
|
||||
var query = AllEntityQuery<StationCentcommComponent>();
|
||||
var query = AllEntityQuery<StationCentcommComponent, TransformComponent>();
|
||||
|
||||
// Guarantees that emergency shuttle arrives first before anyone else can FTL.
|
||||
while (query.MoveNext(out var comp))
|
||||
while (query.MoveNext(out var comp, out var centcommXform))
|
||||
{
|
||||
if (Deleted(comp.Entity))
|
||||
continue;
|
||||
|
||||
_shuttle.AddFTLDestination(comp.Entity.Value, true);
|
||||
if (_shuttle.TryAddFTLDestination(centcommXform.MapID, true, out var ftlComp))
|
||||
{
|
||||
_shuttle.SetFTLWhitelist((centcommXform.MapUid!.Value, ftlComp), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user