From b32ca7582cbec667a380302eb9a498c0baeaa591 Mon Sep 17 00:00:00 2001 From: "D. Moonfire" Date: Sat, 21 Jan 2023 12:13:09 -0600 Subject: [PATCH] fix(schedules): protect against null schedules --- .../ApplySchedules.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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; }