1 #ifndef Rag_ResourceMgr_h
2 #define Rag_ResourceMgr_h
7 #include <rag/Platform.h>
9 #define resourcemgr ResourceMgr::instance()
29 void release() {assert(users > 0); users--;
if (users < 0) users = 0;}
79 void unload(
const std::string& resourceName);
State state
Current state.
Definition: ResourceMgr.h:40
int memoryWarnings
For iOS, the number of memory warnings given by the OS.
Definition: ResourceMgr.h:94
Handles Resource management, including loading and unloading Resource instances.
Definition: ResourceMgr.h:52
void update()
Do the tasks for this frame. Must be called each frame.
Definition: ResourceMgr.cpp:107
int numPendingResources()
Number of Resource instances waiting to be loaded.
Definition: ResourceMgr.cpp:293
void unload(const std::string &resourceName)
Free memory allocated by a given Resource by name.
Definition: ResourceMgr.cpp:198
Resource * getResource(const std::string &name)
Returns a resource by name. Will return a null pointer if the resource doesn't exists.
Definition: ResourceMgr.cpp:96
void dumpResources(const std::string &extension="*")
Display the Resource instances currently loaded in memory.
Definition: ResourceMgr.cpp:276
void loadResource(Resource *resource, bool inBackground=true)
Starts loading a Resource.
Definition: ResourceMgr.cpp:165
std::string resourceName
Resource unique name. Usually the file name.
Definition: ResourceMgr.h:41
virtual void loadSync()=0
Load that must be synchronized with the main thread.
virtual void loadInBackground()=0
CPU intensive load goes here.
State
List of possible states for a Resource.
Definition: ResourceMgr.h:32
void clean()
Cleans all Resources with no users.
Definition: ResourceMgr.cpp:302
Abstract class the represent a game Resource, typically something costly to loaded.
Definition: ResourceMgr.h:18
void acquire()
Prevents the Resource to be deleted until it's release()'d.
Definition: ResourceMgr.h:28
void reload()
On context lost.
Definition: ResourceMgr.cpp:265
void release()
Releases the Resource, so it can be deleted.
Definition: ResourceMgr.h:29
static ResourceMgr & instance()
Returns the shared instance of the manager.
Definition: ResourceMgr.h:58
int memorySize
Size of the Resource in memory measured in bytes.
Definition: ResourceMgr.h:42