using MfGames.Gallium; namespace MfGames.Nitride.Temporal.Schedules; /// /// A schedule is a specific schedule that can be applied to an entity to make /// changes based on components. /// public interface ISchedule { /// /// Determines if a schedule applies to a given entity. /// /// The entity to test. /// True if the schedule applies to the given entity, otherwise false. bool CanApply(Entity entity); /// /// Applies the schedule changes to the entity and returns the results. /// /// The entity to update. /// The modified entity, if the changes can be applied, otherwise the same entity. Entity Apply(Entity entity); }