Oxygine  1
2g game engine
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
oxygine::Resources Class Reference
Inheritance diagram for oxygine::Resources:
oxygine::Resource oxygine::Object oxygine::ref_counter oxygine::ObjectBase oxygine::PoolObject

Classes

struct  registeredResource
 

Public Types

typedef std::vector< spResource > resources
 
typedef std::unordered_map< std::string, spResource > resourcesMap
 
typedef Resource *(* createResourceCallback) (CreateResourceContext &context)
 
typedef Closure< void(Resource *)> ResLoadedCallback
 
- Public Types inherited from oxygine::ObjectBase
typedef std::vector< ObjectBase * > __createdObjects
 

Public Member Functions

bool loadXML (const std::string &xmlFile, const ResourcesLoadOptions &opt=ResourcesLoadOptions())
 
void add (Resource *r, bool accessByShortenID=false)
 
void load (ResLoadedCallback cb=ResLoadedCallback())
 
void unload ()
 
void free ()
 
bool isEmpty () const
 
Resourceget (const std::string &id, error_policy ep=ep_show_error) const
 
Resourceoperator[] (const std::string &id)
 
ResAnimgetResAnim (const std::string &id, error_policy ep=ep_show_error) const
 
ResFontgetResFont (const std::string &id, error_policy ep=ep_show_error) const
 
template<class T >
T * getT (const std::string &id, error_policy ep=ep_show_error) const
 
void print () const
 
void collect (resources &)
 
resources & _getResources ()
 
resourcesMap & _getResourcesMap ()
 
- Public Member Functions inherited from oxygine::Resource
void load (LoadResourcesContext *context=0)
 
void unload ()
 
pugi::xml_attribute getAttribute (const char *attr) const
 
pugi::xml_node getNode () const
 
bool getUseLoadCounter () const
 
ResourcegetParent () const
 
void setUseLoadCounter (bool v)
 
void setParent (Resource *p)
 
- Public Member Functions inherited from oxygine::Object
 Object (const Object &src)
 
 Object (bool assignUniqueID=true)
 
- Public Member Functions inherited from oxygine::ref_counter
void addRef ()
 
void releaseRef ()
 
- Public Member Functions inherited from oxygine::ObjectBase
 ObjectBase (const ObjectBase &src)
 
 ObjectBase (bool assignID=true)
 
const std::string & getName () const
 
const void * getUserData () const
 
int getObjectID () const
 
bool isName (const std::string &name) const
 
bool isName (const char *name) const
 
void setName (const std::string &name)
 
void setUserData (const void *data)
 
void dumpObject () const
 
void __removeFromDebugList ()
 

Static Public Member Functions

static void registerResourceType (createResourceCallback creationCallback, const char *resTypeID)
 
static void unregisterResourceType (const char *resTypeID)
 
- Static Public Member Functions inherited from oxygine::Resource
static std::string extractID (const pugi::xml_node &node, const std::string &file, const std::string &def)
 
static std::string extractID (const std::string &file)
 
- Static Public Member Functions inherited from oxygine::ObjectBase
static void dumpCreatedObjects ()
 
static void showAssertInCtor (int id)
 
static void showAssertInDtor (int id)
 
static __createdObjects & __getCreatedObjects ()
 
static void __startTracingLeaks ()
 
static void __stopTracingLeaks ()
 

Protected Types

typedef std::vector< registeredResourceregisteredResources
 

Protected Member Functions

void updateName (const std::string &filename)
 
void _load (LoadResourcesContext *context) override
 
void _unload () override
 
- Protected Member Functions inherited from oxygine::Object
void __doCheck ()
 
- Protected Member Functions inherited from oxygine::ObjectBase
void __generateID ()
 
std::string * __getName () const
 
void __freeName () const
 

Protected Attributes

resources _resources
 
resourcesMap _resourcesMap
 
std::string _name
 
std::vector< pugi::xml_document * > _docs
 
- Protected Attributes inherited from oxygine::Resource
Resource_parent
 
int _loadCounter
 
bool _useLoadCounter
 
pugi::xml_node _node
 
- Protected Attributes inherited from oxygine::ObjectBase
std::string __name
 
int __id
 
const void * __userData
 

Static Protected Attributes

static registeredResources _registeredResources
 
- Static Protected Attributes inherited from oxygine::ObjectBase
static int _lastID
 
static int _assertCtorID
 
static int _assertDtorID
 

Additional Inherited Members

- Public Attributes inherited from oxygine::ref_counter
int _ref_counter
 
- Static Protected Member Functions inherited from oxygine::Resource
static void setNode (Resource *res, const pugi::xml_node &node)
 
- Static Protected Member Functions inherited from oxygine::ObjectBase
static void __addToDebugList (ObjectBase *base)
 
static void __removeFromDebugList (ObjectBase *base)
 

Member Function Documentation

◆ add()

void oxygine::Resources::add ( Resource r,
bool  accessByShortenID = false 
)

Adds Resource

◆ collect()

void oxygine::Resources::collect ( resources &  )

collects all resources into vector

◆ free()

void oxygine::Resources::free ( )

Completely deletes all loaded resources

◆ get()

Resource* oxygine::Resources::get ( const std::string &  id,
error_policy  ep = ep_show_error 
) const

get resource by id, no case sensitive

Parameters
resourceid

◆ getResAnim()

ResAnim* oxygine::Resources::getResAnim ( const std::string &  id,
error_policy  ep = ep_show_error 
) const

get resource by id

Parameters
resourceid

◆ getResFont()

ResFont* oxygine::Resources::getResFont ( const std::string &  id,
error_policy  ep = ep_show_error 
) const

get animation resource by id

Parameters
resourceid

◆ isEmpty()

bool oxygine::Resources::isEmpty ( ) const

Does it have any loaded xmls

◆ load()

void oxygine::Resources::load ( ResLoadedCallback  cb = ResLoadedCallback())

Calls Resource::load for each resource in the list

◆ loadXML()

bool oxygine::Resources::loadXML ( const std::string &  xmlFile,
const ResourcesLoadOptions opt = ResourcesLoadOptions() 
)

Loads resources from xml file. Load could be called multiple times for different xml files.

Parameters
xmlfile paths
options

◆ operator[]()

Resource* oxygine::Resources::operator[] ( const std::string &  id)
inline

returns resource by index

◆ print()

void oxygine::Resources::print ( ) const

debug function. prints all loaded resources

◆ registerResourceType()

static void oxygine::Resources::registerResourceType ( createResourceCallback  creationCallback,
const char *  resTypeID 
)
static

Registers your own resource type.

Parameters
creationcallback
resourcetype string identifier. Max id length is 15 chars. These IDs are already occupied: 'set', 'atlas', ' image', 'font', 'buffer'

◆ unload()

void oxygine::Resources::unload ( )

Unloads data from memory, all resources handles remain valid


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