|
@@ -5,19 +5,18 @@
|
|
|
#include "Evaluator/EzAbilityEvaluator.h"
|
|
|
#include "Task/EzAbilityTask.h"
|
|
|
|
|
|
-//#include "EzAblityTestTypes.generated.h"
|
|
|
+#include "EzAblityTestTypes.generated.h"
|
|
|
|
|
|
class UEzAbility;
|
|
|
struct FEzAbilityInstanceData;
|
|
|
|
|
|
-
|
|
|
struct FTestEzAbilityExecutionContext : public FEzAbilityContext
|
|
|
{
|
|
|
FTestEzAbilityExecutionContext(UObject& InOwner, const UEzAbility& InEzAbility, FEzAbilityInstanceData& InInstanceData)
|
|
|
: FEzAbilityContext(InOwner, InEzAbility, InInstanceData)
|
|
|
{
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
struct FLogItem
|
|
|
{
|
|
|
FLogItem() = default;
|
|
@@ -26,7 +25,7 @@ struct FTestEzAbilityExecutionContext : public FEzAbilityContext
|
|
|
FString Message;
|
|
|
};
|
|
|
TArray<FLogItem> LogItems;
|
|
|
-
|
|
|
+
|
|
|
void Log(const FName& Name, const FString& Message)
|
|
|
{
|
|
|
LogItems.Emplace(Name, Message);
|
|
@@ -57,7 +56,7 @@ struct FTestEzAbilityExecutionContext : public FEzAbilityContext
|
|
|
}
|
|
|
|
|
|
operator bool() const { return Index < Context.LogItems.Num(); }
|
|
|
-
|
|
|
+
|
|
|
const FTestEzAbilityExecutionContext& Context;
|
|
|
int32 Index = 0;
|
|
|
};
|
|
@@ -90,73 +89,73 @@ struct FTestEzAbilityExecutionContext : public FEzAbilityContext
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
};
|
|
|
|
|
|
-// USTRUCT()
|
|
|
-// struct FTestEval_AInstanceData
|
|
|
-// {
|
|
|
-// GENERATED_BODY()
|
|
|
-//
|
|
|
-// UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
-// float FloatA = 0.0f;
|
|
|
-//
|
|
|
-// UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
-// int32 IntA = 0;
|
|
|
-//
|
|
|
-// UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
-// bool bBoolA = false;
|
|
|
-// };
|
|
|
-//
|
|
|
-// USTRUCT()
|
|
|
-// struct FTestEval_A : public FEzAbilityEvaluator
|
|
|
-// {
|
|
|
-// GENERATED_BODY()
|
|
|
-//
|
|
|
-// using FInstanceDataType = FTestEval_AInstanceData;
|
|
|
-//
|
|
|
-// FTestEval_A() = default;
|
|
|
-// FTestEval_A(const FName InName) { Name = InName; }
|
|
|
-// virtual ~FTestEval_A() override {}
|
|
|
-//
|
|
|
-// virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
|
-// };
|
|
|
-//
|
|
|
-// USTRUCT()
|
|
|
-// struct FTestTask_BInstanceData
|
|
|
-// {
|
|
|
-// GENERATED_BODY()
|
|
|
-//
|
|
|
-// UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
-// float FloatB = 0.0f;
|
|
|
-//
|
|
|
-// UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
-// int32 IntB = 0;
|
|
|
-//
|
|
|
-// UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
-// bool bBoolB = false;
|
|
|
-// };
|
|
|
-//
|
|
|
-// USTRUCT()
|
|
|
-// struct FTestTask_B : public FEzAbilityTask
|
|
|
-// {
|
|
|
-// GENERATED_BODY()
|
|
|
-//
|
|
|
-// using FInstanceDataType = FTestTask_BInstanceData;
|
|
|
-//
|
|
|
-// FTestTask_B() = default;
|
|
|
-// FTestTask_B(const FName InName) { Name = InName; }
|
|
|
-// virtual ~FTestTask_B() override {}
|
|
|
-//
|
|
|
-// virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
|
-//
|
|
|
-// virtual EAbilityRunStatus EnterState(FEzAbilityContext& Context, const FEzAbilityTransitionResult& Transition) const
|
|
|
-// {
|
|
|
-// FTestEzAbilityExecutionContext& TestContext = static_cast<FTestEzAbilityExecutionContext&>(Context);
|
|
|
-// TestContext.Log(Name, TEXT("EnterState"));
|
|
|
-// return EAbilityRunStatus::Running;
|
|
|
-// }
|
|
|
-// };
|
|
|
+USTRUCT()
|
|
|
+struct FEzAbilityTestEval_AInstanceData
|
|
|
+{
|
|
|
+ GENERATED_BODY()
|
|
|
+
|
|
|
+ UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
+ float FloatA = 0.0f;
|
|
|
+
|
|
|
+ UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
+ int32 IntA = 0;
|
|
|
+
|
|
|
+ UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
+ bool bBoolA = false;
|
|
|
+};
|
|
|
+
|
|
|
+USTRUCT()
|
|
|
+struct FEzAbilityTestEval_A : public FEzAbilityEvaluator
|
|
|
+{
|
|
|
+ GENERATED_BODY()
|
|
|
+
|
|
|
+ using FInstanceDataType = FEzAbilityTestEval_AInstanceData;
|
|
|
+
|
|
|
+ FEzAbilityTestEval_A() = default;
|
|
|
+ FEzAbilityTestEval_A(const FName InName) { Name = InName; }
|
|
|
+ virtual ~FEzAbilityTestEval_A() override {}
|
|
|
+
|
|
|
+ virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
|
+};
|
|
|
+
|
|
|
+USTRUCT()
|
|
|
+struct FEzAbilityTestTask_BInstanceData
|
|
|
+{
|
|
|
+ GENERATED_BODY()
|
|
|
+
|
|
|
+ UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
+ float FloatB = 0.0f;
|
|
|
+
|
|
|
+ UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
+ int32 IntB = 0;
|
|
|
+
|
|
|
+ UPROPERTY(EditAnywhere, Category = Parameter)
|
|
|
+ bool bBoolB = false;
|
|
|
+};
|
|
|
+
|
|
|
+USTRUCT()
|
|
|
+struct FEzAbilityTestTask_B : public FEzAbilityTask
|
|
|
+{
|
|
|
+ GENERATED_BODY()
|
|
|
+
|
|
|
+ using FInstanceDataType = FEzAbilityTestTask_BInstanceData;
|
|
|
+
|
|
|
+ FEzAbilityTestTask_B() = default;
|
|
|
+ FEzAbilityTestTask_B(const FName InName) { Name = InName; }
|
|
|
+ virtual ~FEzAbilityTestTask_B() override {}
|
|
|
+
|
|
|
+ virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
|
+
|
|
|
+ virtual EAbilityRunStatus EnterState(FEzAbilityContext& Context, const FEzAbilityTransitionResult& Transition) const
|
|
|
+ {
|
|
|
+ FTestEzAbilityExecutionContext& TestContext = static_cast<FTestEzAbilityExecutionContext&>(Context);
|
|
|
+ TestContext.Log(Name, TEXT("EnterState"));
|
|
|
+ return EAbilityRunStatus::Running;
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
// USTRUCT()
|
|
|
// struct FTestTask_PrintValueInstanceData
|
|
@@ -519,3 +518,5 @@ struct FTestEzAbilityExecutionContext : public FEzAbilityContext
|
|
|
// UPROPERTY(EditAnywhere, Category = "")
|
|
|
// TSoftClassPtr<UObject> SoftClass;
|
|
|
// };
|
|
|
+
|
|
|
+
|