/// /// Interface implemented by every NPC feature component used by EntityAliveSDXV4. /// Components own a single concern and are driven by the entity's OnUpdateLive tick. /// public interface INPCComponent { /// Called once during PostInit, after the entity is fully constructed. void Initialize(EntityAliveSDXV4 entity); /// /// Called every OnUpdateLive tick. Receives the frame cache by reference so all /// components share the same pre-populated leader/target data without repeating lookups. /// void OnUpdateLive(ref NPCFrameCache cache); /// Called when the entity dies (SetDead). void OnDead(); /// Called when the entity is removed from the world (OnEntityUnload). void OnUnload(); }