You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2 #preflight 63d09351574ab9cae4670216 #rb none [CL 23844750 by henrik karlsson in ue5-main branch]
108 lines
3.2 KiB
C
108 lines
3.2 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "StateTreeConditionBase.h"
|
|
#include "StateTreeObjectConditions.generated.h"
|
|
|
|
USTRUCT()
|
|
struct STATETREEMODULE_API FStateTreeObjectIsValidConditionInstanceData
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, Category = Input)
|
|
TObjectPtr<UObject> Object = nullptr;
|
|
};
|
|
|
|
/**
|
|
* Condition testing if specified object is valid.
|
|
*/
|
|
USTRUCT(DisplayName = "Object Is Valid", Category = "Object")
|
|
struct STATETREEMODULE_API FStateTreeObjectIsValidCondition : public FStateTreeConditionCommonBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
using FInstanceDataType = FStateTreeObjectIsValidConditionInstanceData;
|
|
|
|
FStateTreeObjectIsValidCondition() = default;
|
|
explicit FStateTreeObjectIsValidCondition(const EStateTreeCompare InInverts)
|
|
: bInvert(InInverts == EStateTreeCompare::Invert)
|
|
{}
|
|
|
|
virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
virtual bool TestCondition(FStateTreeExecutionContext& Context) const override;
|
|
|
|
UPROPERTY(EditAnywhere, Category = Parameter)
|
|
bool bInvert = false;
|
|
};
|
|
|
|
|
|
USTRUCT()
|
|
struct STATETREEMODULE_API FStateTreeObjectEqualsConditionInstanceData
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Input")
|
|
TObjectPtr<UObject> Left = nullptr;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Parameter")
|
|
TObjectPtr<UObject> Right = nullptr;
|
|
};
|
|
|
|
/**
|
|
* Condition testing if two object pointers point to the same object.
|
|
*/
|
|
USTRUCT(DisplayName = "Object Equals", Category = "Object")
|
|
struct STATETREEMODULE_API FStateTreeObjectEqualsCondition : public FStateTreeConditionCommonBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
using FInstanceDataType = FStateTreeObjectEqualsConditionInstanceData;
|
|
|
|
FStateTreeObjectEqualsCondition() = default;
|
|
explicit FStateTreeObjectEqualsCondition(const EStateTreeCompare InInverts)
|
|
: bInvert(InInverts == EStateTreeCompare::Invert)
|
|
{}
|
|
|
|
virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
virtual bool TestCondition(FStateTreeExecutionContext& Context) const override;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Parameter")
|
|
bool bInvert = false;
|
|
};
|
|
|
|
|
|
USTRUCT()
|
|
struct STATETREEMODULE_API FStateTreeObjectIsChildOfClassConditionInstanceData
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Input")
|
|
TObjectPtr<UObject> Object = nullptr;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Parameter")
|
|
TObjectPtr<UClass> Class = nullptr;
|
|
};
|
|
|
|
/**
|
|
* Condition testing if object is child of specified class.
|
|
*/
|
|
USTRUCT(DisplayName = "Object Class Is", Category = "Object")
|
|
struct STATETREEMODULE_API FStateTreeObjectIsChildOfClassCondition : public FStateTreeConditionCommonBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
using FInstanceDataType = FStateTreeObjectIsChildOfClassConditionInstanceData;
|
|
|
|
FStateTreeObjectIsChildOfClassCondition() = default;
|
|
explicit FStateTreeObjectIsChildOfClassCondition(const EStateTreeCompare InInverts)
|
|
: bInvert(InInverts == EStateTreeCompare::Invert)
|
|
{}
|
|
|
|
virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
|
|
virtual bool TestCondition(FStateTreeExecutionContext& Context) const override;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Parameter")
|
|
bool bInvert = false;
|
|
};
|