This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Scripts/verify_mvp_character_selection_landing.py

54 lines
1.7 KiB
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
FILES = {
"AgrarianMvpFrontendWidget.h": ROOT / "Source" / "AgrarianGame" / "AgrarianMvpFrontendWidget.h",
"AgrarianMvpFrontendWidget.cpp": ROOT / "Source" / "AgrarianGame" / "AgrarianMvpFrontendWidget.cpp",
"AgrarianGamePlayerController.cpp": ROOT / "Source" / "AgrarianGame" / "AgrarianGamePlayerController.cpp",
"AGRARIAN_DEVELOPMENT_ROADMAP.md": ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md",
}
EXPECTED = {
"AgrarianMvpFrontendWidget.h": [
"CharacterSelection",
"DrawCharacterSelection",
],
"AgrarianMvpFrontendWidget.cpp": [
"EAgrarianMvpFrontendScreen::CharacterSelection",
"DrawCharacterSelection",
"Choose your first pioneer",
"Young adult male",
"Young adult female",
"Select the person who will step into Ground Zero.",
"NativeOnMouseButtonDown",
"Continue",
],
"AgrarianGamePlayerController.cpp": [
"SetActiveScreen(EAgrarianMvpFrontendScreen::CharacterSelection)",
"MvpFrontendStartupDelaySeconds",
],
"AGRARIAN_DEVELOPMENT_ROADMAP.md": [
"[x] After splash/startup screens, land on an MVP character selection landing page.",
"`CharacterSelection`",
],
}
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("MVP character selection landing verification failed: " + "; ".join(missing))
print("Agrarian MVP character selection landing verification complete.")
if __name__ == "__main__":
main()