You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Changed existing conditions to use the simpler instance data getter - Added UObject based conditions - Renamed condition file for consistency #rb Mieszko.Zielinski #preflight 6304879ca45b007ea268d917 [CL 21512046 by mikko mononen in ue5-main branch]
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 |