7460ab9d1c
- Repoint CLAUDE.md testing example from the deleted HeartbeatSystemTests to HealthApplyDamageSystemTests. - Stale deleted-system refs: ResourceFieldSpawner/ClutterFieldSpawner(+Authoring) now cite RoomFieldSystem (was ExpeditionFieldSystem); BuildPlaceRequest drops the deleted RegionTransitRequest from its 'mirrors' list. - Stale package version: 'Netcode 1.13.2' -> 'Netcode 1.x' in ProjectileClassificationSystem + BuildPlaceRequest. - WorldCollisionComponents: remove the duplicated EnvironmentMask summary line; FeelConfig: fix the mangled 'is hitmap)' sentence. Comment/doc only; compiles clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
1.3 KiB
C#
24 lines
1.3 KiB
C#
using Unity.Entities;
|
|
|
|
namespace ProjectM.Simulation
|
|
{
|
|
/// <summary>
|
|
/// Singleton holding the physics-filter mask of the static world-collision layer ("Environment"): the baked
|
|
/// boundary ring + landmark colliders the player CC sweeps. Baked from the GameObject layer at edit-time (see
|
|
/// WorldCollisionAuthoring) so server systems can build a <c>CollisionFilter</c> in Burst WITHOUT a managed
|
|
/// <c>LayerMask.NameToLayer</c> call or a hardcoded layer index. Read by <see cref="ProjectM.Server"/>'s
|
|
/// EnemyAISystem to sweep-test Husk movement against the environment only (never the player / other Husks).
|
|
/// </summary>
|
|
public struct WorldCollisionConfig : IComponentData
|
|
{
|
|
/// <summary>BelongsTo bitmask of the Environment physics layer (<c>1u << layerIndex</c>).</summary>
|
|
public uint EnvironmentMask;
|
|
|
|
/// <summary>DR-042 C5: BelongsTo bitmask of the "Structure" physics layer (player-built Wall/Turret/Pylon
|
|
/// colliders). OR'd into the enemy-movement sweep filter so husks collide-and-slide against walls. 0 if the
|
|
/// layer is absent (feature inert). The layer matrix excludes Structure×the player layer so the player CC
|
|
/// passes through its own walls.</summary>
|
|
public uint StructureMask;
|
|
}
|
|
}
|