protected override void Execute(List <CoreEntity> entities) { foreach (var room in entities) { if (room.dirtLevel.value <= 0) { var flatmatesInRoom = coreContext.GetEntitiesWithCurrentRoom(room.roomId.value); foreach (var flatmateWithTidyUpJob in flatmatesInRoom) { if (flatmateWithTidyUpJob.hasActiveAction && flatmateWithTidyUpJob.activeAction.value.DirtPerSecond < 0) { commandContext.CreateEntity().AddStopActionCommand(flatmateWithTidyUpJob.flatmateId.value); } } } } }