// Copyright (c) 2026 Reignance Studios. MIT License, see LICENSE. #include "RSNetAuditCommandlet.h" #include "Misc/Parse.h" #include "RSNetAuditRunner.h" URSNetAuditCommandlet::URSNetAuditCommandlet() { IsClient = false; IsEditor = true; IsServer = false; LogToConsole = true; } int32 URSNetAuditCommandlet::Main(const FString& Params) { FRSAuditOptions Options; Options.bIncludeEngineClasses = FParse::Param(*Params, TEXT("IncludeEngine")); FParse::Value(*Params, TEXT("Out="), Options.OutputDir); FParse::Value(*Params, TEXT("MinPSRate="), Options.MinPlayerStateNetUpdateFrequency); FString FailOn = TEXT("Error"); FParse::Value(*Params, TEXT("FailOn="), FailOn); const FRSAuditResult Result = FRSNetAuditRunner::Run(Options); if (FailOn.Equals(TEXT("None"), ESearchCase::IgnoreCase)) { return 0; } int32 Failing = Result.Count(ERSAuditSeverity::Error); if (FailOn.Equals(TEXT("Warning"), ESearchCase::IgnoreCase)) { Failing += Result.Count(ERSAuditSeverity::Warning); } return Failing > 0 ? 1 : 0; }