mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
* Part one of Vehicles * Also we need this * Part 1 * Part 1.1 * And we need this * Part 2 * Part 2.1 * We REALLY need this * Little fix * Just fixes * fixes (i'm tired) * fix * Apply suggestions from code review Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> * update * fixed * just for cleaner diff * just in case * I think this might be cleaner * fix * upd * Update Content.Shared/Vehicle/VehicleSystem.cs Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> * fix vehicle key and unstrap checks * fix OnBuckleUpdateCanMove * fixes * clear vehicle operator relays * small fix * fix1 * fix2 * upd * fix? * fix?? --------- Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
using Content.Shared.Buckle.Components;
|
|
using Content.Shared.Vehicle.Components;
|
|
using Robust.Shared.Containers;
|
|
|
|
namespace Content.Shared.Vehicle;
|
|
|
|
public sealed partial class VehicleSystem
|
|
{
|
|
[SubscribeLocalEvent]
|
|
private void OnVehicleStrapped(Entity<StrapVehicleComponent> ent, ref StrappedEvent args)
|
|
{
|
|
if (!_vehicleQuery.TryComp(ent, out var vehicle))
|
|
return;
|
|
TrySetOperator((ent, vehicle), args.Buckle);
|
|
}
|
|
|
|
[SubscribeLocalEvent]
|
|
private void OnVehicleUnstrapped(Entity<StrapVehicleComponent> ent, ref UnstrappedEvent args)
|
|
{
|
|
if (!_vehicleQuery.TryComp(ent, out var vehicle))
|
|
return;
|
|
|
|
if (vehicle.Operator != args.Buckle)
|
|
return;
|
|
|
|
TryRemoveOperator((ent, vehicle));
|
|
}
|
|
|
|
[SubscribeLocalEvent]
|
|
private void OnContainerEntInserted(Entity<ContainerVehicleComponent> ent, ref EntInsertedIntoContainerMessage args)
|
|
{
|
|
if (_timing.ApplyingState || args.Container.ID != ent.Comp.ContainerId)
|
|
return;
|
|
|
|
if (!_vehicleQuery.TryComp(ent, out var vehicle))
|
|
return;
|
|
|
|
TrySetOperator((ent, vehicle), args.Entity);
|
|
}
|
|
|
|
[SubscribeLocalEvent]
|
|
private void OnContainerEntRemoved(Entity<ContainerVehicleComponent> ent, ref EntRemovedFromContainerMessage args)
|
|
{
|
|
if (_timing.ApplyingState || args.Container.ID != ent.Comp.ContainerId)
|
|
return;
|
|
|
|
if (!_vehicleQuery.TryComp(ent, out var vehicle))
|
|
return;
|
|
|
|
if (vehicle.Operator != args.Entity)
|
|
return;
|
|
|
|
TryRemoveOperator((ent, vehicle));
|
|
}
|
|
}
|