CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
IAtomProxyInitializer.h File Reference
#include "Misc/AssertionMacros.h"
#include "Misc/CoreMiscDefines.h"
#include "Templates/Casts.h"
#include "Templates/SharedPointer.h"
#include "Templates/UniquePtr.h"
#include "UObject/NameTypes.h"
#include <type_traits>

Classes

struct  Atom::FProxyDataInitParams
class  Atom::IProxyData
class  Atom::TProxyData< Type >
class  IAtomProxyDataFactory

Namespaces

namespace  Atom

Macros

#define IMPL_ATOMPROXY_CLASS(FClassName)

Functions

template<typename UClassToUse, typename std::enable_if_t< std::is_base_of_v< IAtomProxyDataFactory, UClassToUse >, bool > = true>
IAtomProxyDataFactory * Atom::CastToProxyDataFactory (UObject *InObject)

Macro Definition Documentation

◆ IMPL_ATOMPROXY_CLASS

#define IMPL_ATOMPROXY_CLASS ( FClassName)
Value:
static FName GetAtomProxyTypeName() \
{ \
static FName MyClassName = #FClassName; \
return MyClassName; \
} \
static constexpr bool bWasAtomProxyClassImplemented = true; \
friend class ::Atom::IProxyData; \
friend class ::Atom::TProxyData<FClassName>;

Interfaces for Atom Proxy Objects These are used to spawn thread safe instances of UObjects that may be garbage collected on the game thread. In shipping builds, these are effectively abstract pointers, but CHECK_ATOMPROXY_TYPES can optionally be used to check downcasts.