Refactor: ProximityDetectionSystem (#35133)

* Refactor: ProximityDetectionSystem

* Update

* Update

* Update

* Yikes

* Update

* Dirty

* Update

* Update

* Lil cleanup

* Update

* Update
This commit is contained in:
Winkarst
2025-05-11 17:33:35 +03:00
committed by GitHub
parent cd1ebecab0
commit 078814ce41
6 changed files with 144 additions and 214 deletions

View File

@@ -1,17 +1,27 @@
using Content.Shared.FixedPoint;
using Content.Shared.ProximityDetection.Components;
using Robust.Shared.Serialization;
using Content.Shared.ProximityDetection.Components;
namespace Content.Shared.ProximityDetection;
/// <summary>
/// Raised to determine if proximity sensor can detect an entity.
/// </summary>
[ByRefEvent]
public record struct ProximityDetectionAttemptEvent(bool Cancel, FixedPoint2 Distance, Entity<ProximityDetectorComponent> Detector);
public struct ProximityDetectionAttemptEvent(float distance, Entity<ProximityDetectorComponent> detector, EntityUid target)
{
public bool Cancelled;
public readonly float Distance = distance;
public readonly Entity<ProximityDetectorComponent> Detector = detector;
public readonly EntityUid Target = target;
}
/// <summary>
/// Raised when distance from proximity sensor to the target was updated.
/// </summary>
[ByRefEvent]
public record struct ProximityTargetUpdatedEvent(ProximityDetectorComponent Detector, EntityUid? Target, FixedPoint2 Distance);
public readonly record struct ProximityTargetUpdatedEvent(float Distance, Entity<ProximityDetectorComponent> Detector, EntityUid? Target = null);
/// <summary>
/// Raised when proximity sensor got new target.
/// </summary>
[ByRefEvent]
public record struct NewProximityTargetEvent(ProximityDetectorComponent Detector, EntityUid? Target);
public readonly record struct NewProximityTargetEvent(float Distance, Entity<ProximityDetectorComponent> Detector, EntityUid? Target = null);