Persist generated-mode launch requests in run records

This commit is contained in:
axiomlogicnexus 2026-05-02 02:48:18 +02:00
parent 7cfbbf5cb3
commit b22238c5a5
3 changed files with 14 additions and 0 deletions

View file

@ -5949,6 +5949,7 @@ FHyperTwistTrainingRunRecord UHyperTwistTrainingRepositoryLibrary::BuildRunRecor
RunState.ImportedRuntimeSelectionState
);
RunRecord.ImportedRuntimeSelectionState = RunState.ImportedRuntimeSelectionState;
RunRecord.ImportedGeneratedModeLaunchRequest = RunState.ImportedGeneratedModeLaunchRequest;
RunRecord.Attempts = RunState.Attempts;
RunRecord.RemainingCaseIds = RunState.RemainingCaseIds;
RunRecord.ReplayId = RunState.ReplayPacket.ReplayId;

View file

@ -797,6 +797,12 @@ FHyperTwistTrainingImportedGeneratedModeLaunchRequest UHyperTwistTrainingSubsyst
ActiveImportedGeneratedModeLaunchRequest.RequestSource =
RequestSource.IsEmpty() ? TEXT("runtime-imported-generated-mode") : RequestSource;
ActiveImportedGeneratedModeLaunchRequest.LaunchConfig = LaunchConfig;
ActiveRunState.ImportedGeneratedModeLaunchRequest = ActiveImportedGeneratedModeLaunchRequest;
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(
TrainingRepositoryState,
ActiveRunState
);
RefreshRepositoryViews();
return ActiveImportedGeneratedModeLaunchRequest;
}
@ -2823,6 +2829,7 @@ FHyperTwistTrainingRunState UHyperTwistTrainingSubsystem::StartTrainingRunFromDe
ActiveCoachFollowUpBrief = FHyperTwistCoachBrief();
ActiveImportedGeneratedModeLaunchRequest = FHyperTwistTrainingImportedGeneratedModeLaunchRequest();
ActiveRunState = UHyperTwistTrainingLibrary::StartTrainingRun(Deck, UserId, SessionId, Mode);
ActiveRunState.ImportedGeneratedModeLaunchRequest = ActiveImportedGeneratedModeLaunchRequest;
bHasActiveRun = ActiveRunState.IsStructurallyValid();
RefreshSummary();
TrainingRepositoryState = UHyperTwistTrainingRepositoryLibrary::RecordRunState(

View file

@ -1066,6 +1066,9 @@ struct FHyperTwistTrainingRunState
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingImportedRuntimeSelectionState ImportedRuntimeSelectionState;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingImportedGeneratedModeLaunchRequest ImportedGeneratedModeLaunchRequest;
bool IsStructurallyValid() const
{
return ActiveDeck.IsStructurallyValid()
@ -1323,6 +1326,9 @@ struct FHyperTwistTrainingRunRecord
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingImportedRuntimeSelectionState ImportedRuntimeSelectionState;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
FHyperTwistTrainingImportedGeneratedModeLaunchRequest ImportedGeneratedModeLaunchRequest;
bool IsStructurallyValid() const
{
return Session.IsStructurallyValid() && Summary.TrainingSessionId == Session.TrainingSessionId;