60 lines
2.0 KiB
Python
60 lines
2.0 KiB
Python
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
FILES = {
|
|
"AgrarianTypes.h": ROOT / "Source" / "AgrarianGame" / "AgrarianTypes.h",
|
|
"AgrarianSurvivalComponent.h": ROOT / "Source" / "AgrarianGame" / "AgrarianSurvivalComponent.h",
|
|
"AgrarianSurvivalComponent.cpp": ROOT / "Source" / "AgrarianGame" / "AgrarianSurvivalComponent.cpp",
|
|
"AgrarianSaveGame.h": ROOT / "Source" / "AgrarianGame" / "AgrarianSaveGame.h",
|
|
"AgrarianDebugHUD.cpp": ROOT / "Source" / "AgrarianGame" / "AgrarianDebugHUD.cpp",
|
|
"PersistenceDesignDocument.md": ROOT / "Docs" / "PersistenceDesignDocument.md",
|
|
}
|
|
|
|
CARE_FIELDS = [
|
|
"NutritionQuality",
|
|
"IllnessBurden",
|
|
"InjuryBurden",
|
|
"SleepQuality",
|
|
"ShelterQuality",
|
|
"StressBurden",
|
|
"WorkloadBurden",
|
|
"TreatmentQuality",
|
|
]
|
|
|
|
EXPECTED = {
|
|
"AgrarianTypes.h": ["struct FAgrarianCareHistorySnapshot", *CARE_FIELDS],
|
|
"AgrarianSurvivalComponent.h": [
|
|
"FAgrarianCareHistorySnapshot CareHistory;",
|
|
"void OnRep_CareHistory();",
|
|
"void ClampCareHistory();",
|
|
],
|
|
"AgrarianSurvivalComponent.cpp": [
|
|
"DOREPLIFETIME(UAgrarianSurvivalComponent, CareHistory);",
|
|
"void UAgrarianSurvivalComponent::OnRep_CareHistory()",
|
|
"void UAgrarianSurvivalComponent::ClampCareHistory()",
|
|
*CARE_FIELDS,
|
|
],
|
|
"AgrarianSaveGame.h": ["FAgrarianCareHistorySnapshot CareHistory;"],
|
|
"AgrarianDebugHUD.cpp": ["Care N/S/T", "Burden I/I/S/W"],
|
|
"PersistenceDesignDocument.md": ["CareHistorySnapshot", "Care History Snapshot"],
|
|
}
|
|
|
|
|
|
def main():
|
|
missing = []
|
|
for label, path in FILES.items():
|
|
text = path.read_text(encoding="utf-8")
|
|
for snippet in EXPECTED[label]:
|
|
if snippet not in text:
|
|
missing.append(f"{label}: {snippet}")
|
|
|
|
if missing:
|
|
raise RuntimeError("Care history verification failed: " + "; ".join(missing))
|
|
|
|
print("Agrarian care history field verification complete.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|