3#ifndef TRAM_SDK_FRAMEWORK_ENTITYCOMPONENT_H
4#define TRAM_SDK_FRAMEWORK_ENTITYCOMPONENT_H
60 operator T*() {
return ptr; }
61 explicit operator bool() {
return ptr !=
nullptr; }
Wrapper for an EntityComponent pointer.
Definition: entitycomponent.h:51
T * get()
Definition: entitycomponent.h:57
Component()
Definition: entitycomponent.h:53
void make()
Definition: entitycomponent.h:55
T * ptr
Definition: entitycomponent.h:66
T * operator->()
Definition: entitycomponent.h:58
void clear()
Definition: entitycomponent.h:56
T & operator*()
Definition: entitycomponent.h:59
~Component()
Definition: entitycomponent.h:54
Component base class.
Definition: entitycomponent.h:16
bool is_init
Definition: entitycomponent.h:34
void SetParent(Entity *parent)
Definition: entitycomponent.h:29
bool IsReady()
Returns the component's readiness.
Definition: entitycomponent.h:25
EntityComponent()=default
virtual ~EntityComponent()=default
bool is_ready
Definition: entitycomponent.h:33
virtual void EventHandler(Event &event)=0
Entity * GetParent()
Definition: entitycomponent.h:28
size_t resources_waiting
Definition: entitycomponent.h:32
void ResourceReady()
Notifies the component of a streamed-in resource.
Definition: entitycomponent.cpp:53
bool IsInit()
Returns the component's init status.
Definition: entitycomponent.h:26
virtual void Init()
Initializes an entity component.
Definition: entitycomponent.cpp:39
Entity * parent
Definition: entitycomponent.h:35
Entity base class.
Definition: entity.h:23
Definition: resource.h:46
void FinishResources()
Notifies EntityComponents about finished resources.
Definition: async.cpp:231
Event data.
Definition: event.h:24