Implement phase 35 dress appropriateness and school rules.

Adds outfit evaluation, morning home dressing, locker-room ChangeClothes with day-log events, PE/weather AI goals, dress-rules API, and tests.
This commit is contained in:
Leonid Pershin
2026-08-20 05:16:52 +03:00
parent 5b63c72806
commit 6a0d5a9886
32 changed files with 1894 additions and 25 deletions
+8
View File
@@ -85,6 +85,9 @@ public sealed class School : IDisposable
/// <summary>Street temperature and precipitation last committed for the clock and warmth.</summary>
public OutdoorWeather Weather { get; private set; } = OutdoorWeather.None;
/// <summary>Student and staff dress rules. Pending pair applies on the next work morning.</summary>
public SchoolDressRules DressRules { get; set; } = new();
/// <summary>Skill everyone generated for this school speaks natively.</summary>
public string? NativeLanguage { get; private set; }
@@ -339,7 +342,12 @@ public sealed class School : IDisposable
var next = EvaluateWeather();
if (force || next.Tenths != Weather.Tenths || next.Precipitation != Weather.Precipitation)
{
var before = Weather;
Weather = next;
if (Roster is not null && Catalog is not null)
{
ApparelPresence.EnqueueOnWeatherChange(this, before, next);
}
}
}