56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
HEADER = ROOT / "Source" / "AgrarianGame" / "AgrarianGameCharacter.h"
|
|
SOURCE = ROOT / "Source" / "AgrarianGame" / "AgrarianGameCharacter.cpp"
|
|
|
|
|
|
EXPECTED_HEADER_SNIPPETS = [
|
|
"ReplicatedUsing = OnRep_SprintState",
|
|
"ReplicatedUsing = OnRep_ProneState",
|
|
"ReplicatedUsing = OnRep_MovementModifierState",
|
|
"void OnRep_MovementModifierState();",
|
|
"void ServerSetWantsToSprint(bool bNewWantsToSprint);",
|
|
"void ServerSetProne(bool bNewProne);",
|
|
"void ServerSetTerrainMovementMultiplier(float NewTerrainMovementMultiplier);",
|
|
]
|
|
|
|
EXPECTED_SOURCE_SNIPPETS = [
|
|
"bReplicates = true;",
|
|
"SetReplicateMovement(true);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, bWantsToSprint);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, bIsProne);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, AgeYears);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, PhysicalConditionMultiplier);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, StrengthMultiplier);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, EnduranceMultiplier);",
|
|
"DOREPLIFETIME(AAgrarianGameCharacter, TerrainMovementMultiplier);",
|
|
"void AAgrarianGameCharacter::OnRep_SprintState()",
|
|
"void AAgrarianGameCharacter::OnRep_ProneState()",
|
|
"void AAgrarianGameCharacter::OnRep_MovementModifierState()",
|
|
"void AAgrarianGameCharacter::ServerSetWantsToSprint_Implementation",
|
|
"void AAgrarianGameCharacter::ServerSetProne_Implementation",
|
|
"void AAgrarianGameCharacter::ServerSetTerrainMovementMultiplier_Implementation",
|
|
]
|
|
|
|
|
|
def assert_contains(label, text, snippets):
|
|
missing = [snippet for snippet in snippets if snippet not in text]
|
|
if missing:
|
|
raise RuntimeError(f"{label} is missing expected replication snippets: {missing}")
|
|
|
|
|
|
def main():
|
|
header_text = HEADER.read_text(encoding="utf-8")
|
|
source_text = SOURCE.read_text(encoding="utf-8")
|
|
|
|
assert_contains("AgrarianGameCharacter.h", header_text, EXPECTED_HEADER_SNIPPETS)
|
|
assert_contains("AgrarianGameCharacter.cpp", source_text, EXPECTED_SOURCE_SNIPPETS)
|
|
|
|
print("Agrarian player core replication verification complete.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|