Files
UnrealEngineUWP/Engine/Plugins/Runtime/StateTree/Source/StateTreeModule/Private/PropertyFunctions/StateTreeBooleanAlgebraPropertyFunctions.h

61 lines
1.8 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "StateTreePropertyFunctionBase.h"
#include "StateTreeBooleanAlgebraPropertyFunctions.generated.h"
struct FStateTreeExecutionContext;
USTRUCT()
struct STATETREEMODULE_API FStateTreeBooleanOperationPropertyFunctionInstanceData
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, Category = Param)
bool bLeft = false;
UPROPERTY(EditAnywhere, Category = Param)
bool bRight = false;
UPROPERTY(EditAnywhere, Category = Output)
bool bResult = false;
};
/**
* Performs 'And' operation on two booleans.
*/
USTRUCT(DisplayName = "And")
struct STATETREEMODULE_API FStateTreeBooleanAndPropertyFunction : public FStateTreePropertyFunctionCommonBase
{
GENERATED_BODY()
using FInstanceDataType = FStateTreeBooleanOperationPropertyFunctionInstanceData;
virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
virtual void Execute(FStateTreeExecutionContext& Context) const override;
#if WITH_EDITOR
virtual FText GetDescription(const FGuid& ID, FStateTreeDataView InstanceDataView, const IStateTreeBindingLookup& BindingLookup, EStateTreeNodeFormatting Formatting) const;
#endif
};
/**
* Performs 'Or' operation on two booleans.
*/
USTRUCT(DisplayName = "Or")
struct STATETREEMODULE_API FStateTreeBooleanOrPropertyFunction : public FStateTreePropertyFunctionCommonBase
{
GENERATED_BODY()
using FInstanceDataType = FStateTreeBooleanOperationPropertyFunctionInstanceData;
virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
virtual void Execute(FStateTreeExecutionContext& Context) const override;
#if WITH_EDITOR
virtual FText GetDescription(const FGuid& ID, FStateTreeDataView InstanceDataView, const IStateTreeBindingLookup& BindingLookup, EStateTreeNodeFormatting Formatting) const;
#endif
};