Complete early roadmap foundation and calendar helpers
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user