RootCauseunvalidated
Schedules are cached in a Dictionary<Type, ScheduleBase> so they're reused across calls — Npc.Schedule.cs and Npc.Layers.cs. Tension: no allocation per tick. Outcome: GetSchedule() is the only way to get a schedule — subclasses call it in GetSchedule() override.
255de701-3bb8-4b09-b498-2438431678c2
Schedules are cached in a Dictionary<Type, ScheduleBase> so they're reused across calls — Npc.Schedule.cs and Npc.Layers.cs. Tension: no allocation per tick. Outcome: GetSchedule() is the only way to get a schedule — subclasses call it in GetSchedule() override.