Add Has Tag decorator

This commit is contained in:
Wojtek Figat
2023-08-25 10:42:53 +02:00
parent b31f262214
commit 99547a1ff4
4 changed files with 67 additions and 2 deletions

View File

@@ -3,6 +3,7 @@
#pragma once
#include "Engine/Core/Types/Variant.h"
#include "Engine/Core/Types/VariantValueCast.h"
#include "Engine/Serialization/SerializationFwd.h"
class BehaviorKnowledge;
@@ -70,7 +71,7 @@ API_STRUCT(InBuild, Template, MarshalAs=StringAnsi) struct FLAXENGINE_API Behavi
// Gets the selected knowledge value (typed).
FORCE_INLINE T Get(BehaviorKnowledge* knowledge)
{
return (T)BehaviorKnowledgeSelectorAny::Get(knowledge);
return TVariantValueCast<T>::Cast(BehaviorKnowledgeSelectorAny::Get(knowledge));
}
// Tries to get the selected knowledge value (typed). Returns true if got value, otherwise false.
@@ -79,7 +80,7 @@ API_STRUCT(InBuild, Template, MarshalAs=StringAnsi) struct FLAXENGINE_API Behavi
Variant variant;
if (BehaviorKnowledgeSelectorAny::TryGet(knowledge, variant))
{
value = (T)variant;
value = TVariantValueCast<T>::Cast(variant);
return true;
}
return false;