3#ifndef TRAM_SDK_FRAMEWORK_RESOURCE_H
4#define TRAM_SDK_FRAMEWORK_RESOURCE_H
71 explicit operator bool() {
return resource !=
nullptr; }
Component base class.
Definition: entitycomponent.h:16
size_t resources_waiting
Definition: entitycomponent.h:32
Definition: resource.h:11
name_t name
Definition: resource.h:37
void Load()
Definition: resource.h:32
name_t GetName() const
Definition: resource.h:22
void RemoveReference()
Definition: resource.h:27
Resource::Status GetStatus() const
Definition: resource.h:21
virtual void LoadFromDisk()=0
Resource(name_t name)
Definition: resource.h:19
Status
Definition: resource.h:13
@ LOADED
Definition: resource.h:15
@ READY
Definition: resource.h:16
@ UNLOADED
Definition: resource.h:14
bool IsLoadFailed() const
Definition: resource.h:24
size_t references
Definition: resource.h:39
virtual void LoadFromMemory()=0
Status status
Definition: resource.h:36
size_t GetReferences() const
Definition: resource.h:23
void AddReference()
Definition: resource.h:26
bool load_fail
Definition: resource.h:38
Definition: resource.h:46
T * operator->()
Definition: resource.h:69
Resource * resource
Definition: resource.h:74
void set(Resource *new_res)
Definition: resource.h:50
T & operator*()
Definition: resource.h:70
T * get()
Definition: resource.h:67
ResourceProxy(EntityComponent *parent)
Definition: resource.h:48
EntityComponent * parent
Definition: resource.h:73
~ResourceProxy()
Definition: resource.h:49
T * operator=(Resource *res)
Definition: resource.h:68
void CancelRequest(EntityComponent *requester, Resource *resource)
Cancels a resource load request.
Definition: async.cpp:126
void RequestResource(EntityComponent *requester, Resource *resource)
Adds a resource to the loading queue.
Definition: async.cpp:91
Interned string type.
Definition: uid.h:10