MxEngine
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
MxEngine::MxObject Class Reference

Public Types

using Factory = AbstractFactoryImpl< MxObject >
 
using Handle = Resource< MxObject, Factory >
 

Public Member Functions

 MxObject (const MxObject &)=delete
 
MxObjectoperator= (const MxObject &)=delete
 
 MxObject (MxObject &&)=default
 
MxObjectoperator= (MxObject &&)=default
 
template<typename T , typename... Args>
auto AddComponent (Args &&... args)
 
template<typename T >
auto GetComponent () const
 
template<typename T >
auto GetOrAddComponent ()
 
template<typename T >
void RemoveComponent ()
 
template<typename T >
bool HasComponent () const
 

Static Public Member Functions

static Handle Create ()
 
static void Destroy (Handle &object)
 
static void Destroy (MxObject &object)
 
static ComponentView< MxObjectGetObjects ()
 
static Handle GetByName (const MxString &name)
 
template<typename T >
static MxObjectGetByComponent (T &component)
 
template<typename T >
static Handle GetHandleByComponent (T &component)
 
template<typename T >
static T::Handle GetComponentHandle (const T &component)
 
template<typename T >
static UUID GetComponentUUID (const T &component)
 

Public Attributes

MxString Name = UUIDGenerator::Get()
 
float TranslateSpeed = 1.0f
 
float RotateSpeed = 1.0f
 
float ScaleSpeed = 1.0f
 
Transform::Handle Transform
 

The documentation for this class was generated from the following files: