39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
namespace InfiniteWorld.VoxelWorld.Contracts
|
|
{
|
|
/// <summary>
|
|
/// Identifies why a point contributes to nav coverage so planners and diagnostics can treat different sources appropriately.
|
|
/// </summary>
|
|
public enum WorldInterestKind
|
|
{
|
|
/// <summary>Coverage seeded by the current player-controlled actor.</summary>
|
|
PlayerActor = 0,
|
|
|
|
/// <summary>Coverage seeded by an active NPC that still requires authoritative pathing.</summary>
|
|
ActiveNpc = 1,
|
|
|
|
/// <summary>Coverage seeded by a spawn location that should be warm before actors start moving.</summary>
|
|
SpawnAnchor = 2,
|
|
|
|
/// <summary>Coverage seeded by a short-lived route hint that biases planning ahead of movement.</summary>
|
|
TransientNavHint = 3,
|
|
|
|
/// <summary>Fallback category for future interest sources that do not fit a more specific kind.</summary>
|
|
Other = 4
|
|
}
|
|
|
|
/// <summary>
|
|
/// Describes where a coverage window currently sits in the nav build lifecycle.
|
|
/// </summary>
|
|
public enum NavCoverageState
|
|
{
|
|
/// <summary>The window exists conceptually but still needs a fresh build.</summary>
|
|
Pending = 0,
|
|
|
|
/// <summary>The window is currently rebuilding its runtime NavMesh data.</summary>
|
|
Building = 1,
|
|
|
|
/// <summary>The window has ready NavMesh data that can answer pathing queries.</summary>
|
|
Ready = 2
|
|
}
|
|
}
|