Expose coaching through gameplay wrappers
This commit is contained in:
parent
2ecbe3460d
commit
bbdee1398e
4 changed files with 212 additions and 0 deletions
|
|
@ -21,6 +21,16 @@ void UHyperTwistTrainingPanelWidget::RefreshTrainingState()
|
|||
{
|
||||
CachedRunState = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingRunState(this);
|
||||
CachedRunSummary = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingRunSummary(this);
|
||||
CachedCoachSignals = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSignals(this);
|
||||
CachedCoachBrief = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachBrief(this);
|
||||
CachedCoachSessionQueueSummary =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSessionQueueSummary(this);
|
||||
CachedCoachSchedulePolicySummary =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSchedulePolicySummary(this);
|
||||
CachedCoachQueueExecutionSummary =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSessionQueueExecutionSummary(this);
|
||||
CachedRepositoryRoundTripVerification =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingRepositoryRoundTripVerification(this);
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState UHyperTwistTrainingPanelWidget::StartSampleClassicTrainingRun()
|
||||
|
|
@ -79,3 +89,54 @@ void UHyperTwistTrainingPanelWidget::ClearActiveTrainingRun()
|
|||
LastStepResult = FHyperTwistTrainingRunStepResult();
|
||||
RefreshTrainingState();
|
||||
}
|
||||
|
||||
FHyperTwistTrainingDeck UHyperTwistTrainingPanelWidget::BuildActiveCoachRecommendedDeck(const int32 MaxCases)
|
||||
{
|
||||
CachedCoachRecommendedDeck = UHyperTwistTrainingRuntimeLibrary::BuildActiveCoachRecommendedDeck(
|
||||
this,
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshTrainingState();
|
||||
return CachedCoachRecommendedDeck;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingDeck UHyperTwistTrainingPanelWidget::BuildActiveCoachFollowUpDeck(const int32 MaxCases)
|
||||
{
|
||||
CachedCoachFollowUpDeck = UHyperTwistTrainingRuntimeLibrary::BuildActiveCoachFollowUpDeck(
|
||||
this,
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshTrainingState();
|
||||
return CachedCoachFollowUpDeck;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState UHyperTwistTrainingPanelWidget::StartCoachRecommendedRun(const int32 MaxCases)
|
||||
{
|
||||
CachedRunState = UHyperTwistTrainingRuntimeLibrary::StartCoachRecommendedRun(
|
||||
this,
|
||||
DefaultSessionId + TEXT("_coach"),
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshTrainingState();
|
||||
return CachedRunState;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState UHyperTwistTrainingPanelWidget::StartCoachFollowUpRun(const int32 MaxCases)
|
||||
{
|
||||
CachedRunState = UHyperTwistTrainingRuntimeLibrary::StartCoachFollowUpRun(
|
||||
this,
|
||||
DefaultSessionId + TEXT("_follow_up"),
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshTrainingState();
|
||||
return CachedRunState;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRepositoryRoundTripVerification
|
||||
UHyperTwistTrainingPanelWidget::VerifyTrainingRepositoryRoundTrip()
|
||||
{
|
||||
CachedRepositoryRoundTripVerification =
|
||||
UHyperTwistTrainingRuntimeLibrary::VerifyTrainingRepositoryRoundTripAtDefaultPath(this);
|
||||
RefreshTrainingState();
|
||||
return CachedRepositoryRoundTripVerification;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,4 +84,69 @@ void AHyperTwistTrainingSessionActor::RefreshCachedTrainingState()
|
|||
{
|
||||
CachedRunState = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingRunState(this);
|
||||
CachedRunSummary = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingRunSummary(this);
|
||||
CachedCoachSignals = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSignals(this);
|
||||
CachedCoachBrief = UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachBrief(this);
|
||||
CachedCoachSessionQueueSummary =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSessionQueueSummary(this);
|
||||
CachedCoachSchedulePolicySummary =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSchedulePolicySummary(this);
|
||||
CachedCoachQueueExecutionSummary =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingCoachSessionQueueExecutionSummary(this);
|
||||
CachedRepositoryRoundTripVerification =
|
||||
UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingRepositoryRoundTripVerification(this);
|
||||
}
|
||||
|
||||
FHyperTwistTrainingDeck AHyperTwistTrainingSessionActor::BuildCoachRecommendedDeck(const int32 MaxCases)
|
||||
{
|
||||
CachedCoachRecommendedDeck = UHyperTwistTrainingRuntimeLibrary::BuildActiveCoachRecommendedDeck(
|
||||
this,
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshCachedTrainingState();
|
||||
return CachedCoachRecommendedDeck;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingDeck AHyperTwistTrainingSessionActor::BuildCoachFollowUpDeck(const int32 MaxCases)
|
||||
{
|
||||
CachedCoachFollowUpDeck = UHyperTwistTrainingRuntimeLibrary::BuildActiveCoachFollowUpDeck(
|
||||
this,
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshCachedTrainingState();
|
||||
return CachedCoachFollowUpDeck;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState AHyperTwistTrainingSessionActor::StartCoachRecommendedTrainingRun(
|
||||
const int32 MaxCases
|
||||
)
|
||||
{
|
||||
CachedRunState = UHyperTwistTrainingRuntimeLibrary::StartCoachRecommendedRun(
|
||||
this,
|
||||
AutoStartSessionId + TEXT("_coach"),
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshCachedTrainingState();
|
||||
return CachedRunState;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRunState AHyperTwistTrainingSessionActor::StartCoachFollowUpTrainingRun(
|
||||
const int32 MaxCases
|
||||
)
|
||||
{
|
||||
CachedRunState = UHyperTwistTrainingRuntimeLibrary::StartCoachFollowUpRun(
|
||||
this,
|
||||
AutoStartSessionId + TEXT("_follow_up"),
|
||||
MaxCases > 0 ? MaxCases : DefaultCoachMaxCases
|
||||
);
|
||||
RefreshCachedTrainingState();
|
||||
return CachedRunState;
|
||||
}
|
||||
|
||||
FHyperTwistTrainingRepositoryRoundTripVerification
|
||||
AHyperTwistTrainingSessionActor::VerifyRepositoryRoundTrip()
|
||||
{
|
||||
CachedRepositoryRoundTripVerification =
|
||||
UHyperTwistTrainingRuntimeLibrary::VerifyTrainingRepositoryRoundTripAtDefaultPath(this);
|
||||
RefreshCachedTrainingState();
|
||||
return CachedRepositoryRoundTripVerification;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "HyperTwistTraining/HyperTwistTrainingCoachLibrary.h"
|
||||
#include "HyperTwistTraining/HyperTwistTrainingTypes.h"
|
||||
#include "HyperTwistTrainingPanelWidget.generated.h"
|
||||
|
||||
|
|
@ -25,6 +26,9 @@ public:
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist|Training")
|
||||
EHyperTwistTrainingDeliveryMode DefaultMode = EHyperTwistTrainingDeliveryMode::Timer;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist|Training|Coach")
|
||||
int32 DefaultCoachMaxCases = 5;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRunState CachedRunState;
|
||||
|
||||
|
|
@ -34,6 +38,30 @@ public:
|
|||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRunStepResult LastStepResult;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
TArray<FHyperTwistCoachSignal> CachedCoachSignals;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistCoachBrief CachedCoachBrief;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistCoachSessionQueueSummary CachedCoachSessionQueueSummary;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistCoachSchedulePolicySummary CachedCoachSchedulePolicySummary;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingCoachSessionQueueExecutionSummary CachedCoachQueueExecutionSummary;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck CachedCoachRecommendedDeck;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck CachedCoachFollowUpDeck;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRepositoryRoundTripVerification CachedRepositoryRoundTripVerification;
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training")
|
||||
bool HasActiveTrainingRun() const;
|
||||
|
||||
|
|
@ -62,4 +90,19 @@ public:
|
|||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training")
|
||||
void ClearActiveTrainingRun();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck BuildActiveCoachRecommendedDeck(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck BuildActiveCoachFollowUpDeck(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingRunState StartCoachRecommendedRun(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingRunState StartCoachFollowUpRun(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRepositoryRoundTripVerification VerifyTrainingRepositoryRoundTrip();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "CoreMinimal.h"
|
||||
#include "GameFramework/Actor.h"
|
||||
#include "HyperTwistTraining/HyperTwistTrainingCoachLibrary.h"
|
||||
#include "HyperTwistTraining/HyperTwistTrainingTypes.h"
|
||||
#include "HyperTwistTrainingSessionActor.generated.h"
|
||||
|
||||
|
|
@ -27,6 +28,9 @@ public:
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist|Training")
|
||||
EHyperTwistTrainingDeliveryMode AutoStartMode = EHyperTwistTrainingDeliveryMode::Timer;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist|Training|Coach")
|
||||
int32 DefaultCoachMaxCases = 5;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRunState CachedRunState;
|
||||
|
||||
|
|
@ -36,6 +40,30 @@ public:
|
|||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRunStepResult LastStepResult;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
TArray<FHyperTwistCoachSignal> CachedCoachSignals;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistCoachBrief CachedCoachBrief;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistCoachSessionQueueSummary CachedCoachSessionQueueSummary;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistCoachSchedulePolicySummary CachedCoachSchedulePolicySummary;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingCoachSessionQueueExecutionSummary CachedCoachQueueExecutionSummary;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck CachedCoachRecommendedDeck;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck CachedCoachFollowUpDeck;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRepositoryRoundTripVerification CachedRepositoryRoundTripVerification;
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "HyperTwist|Training")
|
||||
bool HasActiveTrainingRun() const;
|
||||
|
||||
|
|
@ -64,4 +92,19 @@ public:
|
|||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training")
|
||||
void RefreshCachedTrainingState();
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck BuildCoachRecommendedDeck(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingDeck BuildCoachFollowUpDeck(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingRunState StartCoachRecommendedTrainingRun(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|Coach")
|
||||
FHyperTwistTrainingRunState StartCoachFollowUpTrainingRun(int32 MaxCases);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training")
|
||||
FHyperTwistTrainingRepositoryRoundTripVerification VerifyRepositoryRoundTrip();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue