You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
43 lines
1.7 KiB
C++
43 lines
1.7 KiB
C++
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|||
|
|
|
|||
|
|
#include "Conditions/StateTreeObjectConditions.h"
|
|||
|
|
#include "StateTreeExecutionContext.h"
|
|||
|
|
|
|||
|
|
#define LOCTEXT_NAMESPACE "StateTreeEditor"
|
|||
|
|
|
|||
|
|
|
|||
|
|
//----------------------------------------------------------------------//
|
|||
|
|
// FStateTreeCondition_ObjectIsValid
|
|||
|
|
//----------------------------------------------------------------------//
|
|||
|
|
|
|||
|
|
bool FStateTreeObjectIsValidCondition::TestCondition(FStateTreeExecutionContext& Context) const
|
|||
|
|
{
|
|||
|
|
const InstanceDataType& InstanceData = Context.GetInstanceData<InstanceDataType>(*this);
|
|||
|
|
const bool bResult = IsValid(InstanceData.Object);
|
|||
|
|
return bResult ^ bInvert;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//----------------------------------------------------------------------//
|
|||
|
|
// FStateTreeCondition_ObjectEquals
|
|||
|
|
//----------------------------------------------------------------------//
|
|||
|
|
|
|||
|
|
bool FStateTreeObjectEqualsCondition::TestCondition(FStateTreeExecutionContext& Context) const
|
|||
|
|
{
|
|||
|
|
const InstanceDataType& InstanceData = Context.GetInstanceData<InstanceDataType>(*this);
|
|||
|
|
const bool bResult = InstanceData.Left == InstanceData.Right;
|
|||
|
|
return bResult ^ bInvert;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//----------------------------------------------------------------------//
|
|||
|
|
// FStateTreeCondition_ObjectIsChildOfClass
|
|||
|
|
//----------------------------------------------------------------------//
|
|||
|
|
|
|||
|
|
bool FStateTreeObjectIsChildOfClassCondition::TestCondition(FStateTreeExecutionContext& Context) const
|
|||
|
|
{
|
|||
|
|
const InstanceDataType& InstanceData = Context.GetInstanceData<InstanceDataType>(*this);
|
|||
|
|
const bool bResult = InstanceData.Object && InstanceData.Class
|
|||
|
|
&& InstanceData.Object->GetClass()->IsChildOf(InstanceData.Class);
|
|||
|
|
return bResult ^ bInvert;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#undef LOCTEXT_NAMESPACE
|