using ProjectM.Simulation; using Unity.Entities; using UnityEngine; namespace ProjectM.Authoring { /// /// MC-1 — marks a Husk prefab as a CHARGER variant. Compose this WITH on the /// prefab root (both bakers share the primary entity): EnemyAuthoring bakes the common Husk components and /// Charger-tuned stats; this bakes the server-only (zeroed = not lunging). /// Component-PRESENCE is the discriminator EnemyAISystem branches on — no enum/brain byte (the Burst /// cross-assembly-enum hazard) — routing the Charger to the commit→lunge→whiff-stagger pass while the Grunt /// pass excludes it via .WithNone<LungeState>(). NOT a [GhostField]: the lunged position /// replicates via stock LocalTransform like every Husk. /// public class ChargerAuthoring : MonoBehaviour { private class ChargerBaker : Baker { public override void Bake(ChargerAuthoring authoring) { var entity = GetEntity(authoring, TransformUsageFlags.Dynamic); AddComponent(entity); } } } }