Enhance staffing management with uncovered teacher tracking
- Updated `protocol.md` to clarify the concept of uncovered subjects and the number of additional teachers required. - Introduced `teachersShort` property in the `StaffingSubject` interface to indicate how many more teachers are needed for a subject. - Enhanced localization strings to reflect the new uncovered teacher information in both English and Russian. - Updated the management panel UI to display the number of teachers short for each uncovered subject. - Revised the `Uncovered` method in the staffing logic to return detailed information about uncovered subjects, including the shortfall of teachers. - Added tests to validate the new uncovered teacher tracking functionality and ensure accurate reporting in the staffing API. - Marked related tasks as complete in the documentation for the golden fixtures phase.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
# Golden saves
|
||||
|
||||
`current/` is a school file of today's format. `legacy-no-native/` is the same school without
|
||||
`nativeLanguage`, so a missing field still has to mean "first language of the name set" rather
|
||||
than a new roll.
|
||||
|
||||
These files live forever: a new save field must load `current/` and must not reshuffle
|
||||
`legacy-no-native/`. A real format change adds a new folder; it does not rewrite the old one.
|
||||
|
||||
Regenerate after an intentional roster change (same commit):
|
||||
|
||||
```
|
||||
WRITE_GOLDEN=1 dotnet test tests/HSchool.People.Tests/HSchool.People.Tests.csproj --filter Dump_HostSaveFixtures
|
||||
```
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"format": 2,
|
||||
"id": 1,
|
||||
"name": "Золотая",
|
||||
"gameTime": "2012-03-31T06:00:00Z",
|
||||
"running": false,
|
||||
"speedIndex": 1,
|
||||
"modIds": [
|
||||
"core"
|
||||
],
|
||||
"map": {
|
||||
"territory": {
|
||||
"id": "yard",
|
||||
"def": "SchoolYard"
|
||||
},
|
||||
"buildings": [
|
||||
{
|
||||
"id": "main",
|
||||
"def": "MainBuilding"
|
||||
}
|
||||
],
|
||||
"floors": [
|
||||
{
|
||||
"id": "floor-1",
|
||||
"def": "StandardFloor",
|
||||
"building": "main",
|
||||
"label": "1"
|
||||
}
|
||||
],
|
||||
"rooms": [
|
||||
{
|
||||
"id": "classroom-00",
|
||||
"def": "Classroom",
|
||||
"building": "main",
|
||||
"floor": "floor-1",
|
||||
"label": "101",
|
||||
"seats": 16,
|
||||
"slots": []
|
||||
},
|
||||
{
|
||||
"id": "classroom-01",
|
||||
"def": "Classroom",
|
||||
"building": "main",
|
||||
"floor": "floor-1",
|
||||
"label": "102",
|
||||
"seats": 16,
|
||||
"slots": []
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"a": "yard",
|
||||
"b": "classroom-00"
|
||||
},
|
||||
{
|
||||
"a": "yard",
|
||||
"b": "classroom-01"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nameSetId": "Slavic",
|
||||
"nativeLanguage": "RussianLanguage"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"format": 2,
|
||||
"id": 1,
|
||||
"name": "Золотая",
|
||||
"gameTime": "2012-03-31T06:00:00Z",
|
||||
"running": false,
|
||||
"speedIndex": 1,
|
||||
"modIds": [
|
||||
"core"
|
||||
],
|
||||
"map": {
|
||||
"territory": {
|
||||
"id": "yard",
|
||||
"def": "SchoolYard"
|
||||
},
|
||||
"buildings": [
|
||||
{
|
||||
"id": "main",
|
||||
"def": "MainBuilding"
|
||||
}
|
||||
],
|
||||
"floors": [
|
||||
{
|
||||
"id": "floor-1",
|
||||
"def": "StandardFloor",
|
||||
"building": "main",
|
||||
"label": "1"
|
||||
}
|
||||
],
|
||||
"rooms": [
|
||||
{
|
||||
"id": "classroom-00",
|
||||
"def": "Classroom",
|
||||
"building": "main",
|
||||
"floor": "floor-1",
|
||||
"label": "101",
|
||||
"seats": 16,
|
||||
"slots": []
|
||||
},
|
||||
{
|
||||
"id": "classroom-01",
|
||||
"def": "Classroom",
|
||||
"building": "main",
|
||||
"floor": "floor-1",
|
||||
"label": "102",
|
||||
"seats": 16,
|
||||
"slots": []
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"a": "yard",
|
||||
"b": "classroom-00"
|
||||
},
|
||||
{
|
||||
"a": "yard",
|
||||
"b": "classroom-01"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nameSetId": "Slavic"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user