Priority events
AzPriorityEventRef<T>
Use ordered readonly-ref dispatch for large struct payloads.
- Large structs
- Readonly ref
- Ordered dispatch
- Handler shape
Use AzPriorityEventRef<T> for ordered large-struct payload dispatch.
Use AzPriorityEventRef<T> for Large Struct Payloads
AzPriorityEventRef<T> passes payloads by in T. Use it for struct payloads where copy cost is worth avoiding.
public readonly struct HitReport
{
public readonly Vector3 Origin;
public readonly Vector3 HitPoint;
public readonly Vector3 Normal;
public readonly int TargetId;
public HitReport(Vector3 origin, Vector3 hitPoint, Vector3 normal, int targetId)
{
Origin = origin;
HitPoint = hitPoint;
Normal = normal;
TargetId = targetId;
}
}
public static readonly AzPriorityEventRef<HitReport> HitReported = new();
private void OnEnable()
{
CombatBus.HitReported.Subscribe(OnHitReported, slot: 3).AddTo(_subscriptions);
}
private void OnHitReported(in HitReport report)
{
Debug.Log($"Hit target {report.TargetId}");
}Use AzPriorityEventRef<T> when struct-copy cost is worth avoiding. For small values, AzPriorityEvent<T> is simpler.
