Add MVP character archetype choice

This commit is contained in:
2026-05-18 20:59:37 -07:00
parent 5efd81ca4b
commit c855924034
6 changed files with 167 additions and 5 deletions
@@ -0,0 +1,61 @@
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.h": ROOT / "Source" / "AgrarianGame" / "AgrarianGamePlayerController.h",
"AgrarianGamePlayerController.cpp": ROOT / "Source" / "AgrarianGame" / "AgrarianGamePlayerController.cpp",
"AGRARIAN_DEVELOPMENT_ROADMAP.md": ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md",
}
EXPECTED = {
"AgrarianMvpFrontendWidget.h": [
"EAgrarianMvpCharacterArchetype",
"YoungAdultMale",
"YoungAdultFemale",
"SelectedCharacterArchetype",
"SetSelectedCharacterArchetype",
"NativeOnKeyDown",
],
"AgrarianMvpFrontendWidget.cpp": [
"EKeys::Left",
"EKeys::Right",
"EKeys::A",
"EKeys::D",
"Selected",
"Use Left/Right or A/D to choose",
"GetSelectedCharacterLabel",
],
"AgrarianGamePlayerController.h": [
"AgrarianSelectCharacter",
],
"AgrarianGamePlayerController.cpp": [
"AgrarianSelectCharacter",
"SetSelectedCharacterArchetype(EAgrarianMvpCharacterArchetype::YoungAdultMale)",
"SetSelectedCharacterArchetype(EAgrarianMvpCharacterArchetype::YoungAdultFemale)",
],
"AGRARIAN_DEVELOPMENT_ROADMAP.md": [
"[x] Let players choose a realistic young adult male or female character with average proportions for the MVP.",
"`AgrarianSelectCharacter male|female`",
],
}
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 archetype choice verification failed: " + "; ".join(missing))
print("Agrarian MVP character archetype choice verification complete.")
if __name__ == "__main__":
main()