Fix PE change-clothes interruption and post-PE mode detection.
Add appropriateness tests for staging PE kit, wearing form before gym, and returning to everyday clothes after the lesson.
This commit is contained in:
@@ -56,10 +56,27 @@ internal static class ApparelPresence
|
||||
return ApparelDresser.ModeForLesson(current?.Subject);
|
||||
}
|
||||
|
||||
var next = lessons.Where(lesson => lesson.Period > slot.Index).OrderBy(lesson => lesson.Period).FirstOrDefault();
|
||||
if (next is not null)
|
||||
if (slot.Kind == DaySlotKind.Break)
|
||||
{
|
||||
return ApparelDresser.ModeForLesson(next.Subject);
|
||||
var justEnded = lessons.FirstOrDefault(lesson => lesson.Period == slot.Index);
|
||||
if (justEnded is not null && ApparelDresser.ModeForLesson(justEnded.Subject) == ApparelMode.Pe)
|
||||
{
|
||||
return ApparelMode.Everyday;
|
||||
}
|
||||
|
||||
var next = lessons.Where(lesson => lesson.Period > slot.Index).OrderBy(lesson => lesson.Period).FirstOrDefault();
|
||||
if (next is not null)
|
||||
{
|
||||
return ApparelDresser.ModeForLesson(next.Subject);
|
||||
}
|
||||
|
||||
return ApparelMode.Everyday;
|
||||
}
|
||||
|
||||
var nextLesson = lessons.Where(lesson => lesson.Period > slot.Index).OrderBy(lesson => lesson.Period).FirstOrDefault();
|
||||
if (nextLesson is not null)
|
||||
{
|
||||
return ApparelDresser.ModeForLesson(nextLesson.Subject);
|
||||
}
|
||||
|
||||
var previous = lessons.Where(lesson => lesson.Period < slot.Index).OrderByDescending(lesson => lesson.Period).FirstOrDefault();
|
||||
|
||||
Reference in New Issue
Block a user