worldbox-observer-mod/IdleSpectator/InterestEvent.cs

25 lines
740 B
C#

using UnityEngine;
namespace IdleSpectator;
/// <summary>
/// Lightweight watch payload for camera / tip. Ranking lives on <see cref="Score"/>;
/// typed interrupt policy uses the registry candidate, not this DTO.
/// </summary>
public sealed class InterestEvent
{
public float Score;
public Vector3 Position;
public Actor FollowUnit;
public string Label;
public float CreatedAt;
public string AssetId;
public int ParticipantCount;
public int NotableParticipantCount;
public float CharacterSignificance;
public bool HasFollowUnit => FollowUnit != null && FollowUnit.isAlive();
public bool HasValidPosition =>
HasFollowUnit || (Position != Vector3.zero && !float.IsNaN(Position.x));
}