70 lines
2.3 KiB
Python
70 lines
2.3 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.h": ROOT / "Source" / "AgrarianGame" / "AgrarianGamePlayerController.h",
|
|
"AgrarianGamePlayerController.cpp": ROOT / "Source" / "AgrarianGame" / "AgrarianGamePlayerController.cpp",
|
|
}
|
|
|
|
EXPECTED = {
|
|
"AgrarianMvpFrontendWidget.h": [
|
|
"ConfirmActiveScreen",
|
|
"BackFromActiveScreen",
|
|
"SaveAndQuit",
|
|
],
|
|
"AgrarianMvpFrontendWidget.cpp": [
|
|
"NativeOnMouseButtonDown",
|
|
"IsPointInside(LocalMousePosition, MaleCardPosition, CardSize)",
|
|
"IsPointInside(LocalMousePosition, FemaleCardPosition, CardSize)",
|
|
"Save & Quit",
|
|
"ConsoleCommand(TEXT(\"AgrarianSaveWorld\"))",
|
|
"ConsoleCommand(TEXT(\"quit\"))",
|
|
"PlayerController->SetIgnoreMoveInput(false)",
|
|
"PlayerController->SetIgnoreLookInput(false)",
|
|
],
|
|
"AgrarianGamePlayerController.h": [
|
|
"ShowMvpPauseMenu",
|
|
"HandleMvpEscapeInput",
|
|
],
|
|
"AgrarianGamePlayerController.cpp": [
|
|
"SetIgnoreMoveInput(true)",
|
|
"SetIgnoreLookInput(true)",
|
|
"InputComponent->BindKey(EKeys::Enter",
|
|
"InputComponent->BindKey(EKeys::SpaceBar",
|
|
"InputComponent->BindKey(EKeys::Escape",
|
|
"MvpFrontendWidget->IsInViewport()",
|
|
"ShowMvpPauseMenu();",
|
|
],
|
|
}
|
|
|
|
FORBIDDEN = {
|
|
"AgrarianGamePlayerController.cpp": [
|
|
"BindKey(EKeys::LeftMouseButton",
|
|
],
|
|
}
|
|
|
|
|
|
def main():
|
|
failures = []
|
|
for label, path in FILES.items():
|
|
text = path.read_text(encoding="utf-8")
|
|
for snippet in EXPECTED[label]:
|
|
if snippet not in text:
|
|
failures.append(f"{label} missing {snippet!r}")
|
|
|
|
for snippet in FORBIDDEN.get(label, []):
|
|
if snippet in text:
|
|
failures.append(f"{label} should not contain {snippet!r}")
|
|
|
|
if failures:
|
|
raise RuntimeError("MVP menu input and quit flow verification failed: " + "; ".join(failures))
|
|
|
|
print("Agrarian MVP menu input and quit flow verification complete.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|