diff --git a/src/MfGames.Nitride.Temporal.Schedules/ApplySchedules.cs b/src/MfGames.Nitride.Temporal.Schedules/ApplySchedules.cs index 63f313a..01b33a9 100644 --- a/src/MfGames.Nitride.Temporal.Schedules/ApplySchedules.cs +++ b/src/MfGames.Nitride.Temporal.Schedules/ApplySchedules.cs @@ -49,6 +49,15 @@ public partial class ApplySchedules : OperationBase return input.Select(this.Apply); } + /// + /// Adds a single schedule into the apply schedules and returns the ApplySchedule + /// class. + /// + public ApplySchedules WithGetSchedules(Func schedule) + { + return this.WithGetSchedules(entity => new[] { schedule(entity) }); + } + public ApplySchedules WithGetSchedules( Func?> value) where TType : ISchedule @@ -74,7 +83,7 @@ public partial class ApplySchedules : OperationBase // Otherwise, apply the schedules to this entity. foreach (ISchedule schedule in schedules) { - if (!schedule.CanApply(entity)) + if (schedule == null! || !schedule.CanApply(entity)) { continue; }