Kochol Game Engine  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
kge::ResourceManager< T > Class Template Reference

Resource manager take care of loading and unloading resources. More...

#include <ResourceManager.h>

Inheritance diagram for kge::ResourceManager< T >:
kge::KgeUnknown

Public Member Functions

 ResourceManager (core::Functor5< bool, Resource **, const u32, const char *, const char *, void * > *CreateResourceFunction)
 Constructor.
virtual ~ResourceManager ()
 Destructor.
virtual u32 Add (const char *FileName, void *ExtraParams, const char *Name)
 Loads or find a resource and return its handle.
virtual u32 Add2 (const char *FileName, const char *pCh, void *ExtraParams, const char *Name)
 Loads or find a resource and return its handle.
virtual u32 Add (T *pResource)
 Adds a manual resource and returns its handle.
void RemoveResource (T *pResource)
virtual T * GetResource (u32 handle)
 Returns a resource.
u32 GetNewHandle ()
void RegisterLoader (Loader *pLoader)
 Register resource loaders for this loaders.
T * Load (const char *FileName, void *ExtraParams, const char *Name)
 Loads the resource and return its pointer.
- Public Member Functions inherited from kge::KgeUnknown
 KgeUnknown ()
 Constructor.
virtual ~KgeUnknown ()
 Destructor.
virtual void AddRef ()
 Add a reference to the object.
virtual void DecRef ()
 Decrease a reference from the object. if its reference count get 0 then the object will destroy.
u32 GetRefCount ()
 Return resource reference count.
const char * GetDebugText ()
 returns the instance debug text.

Protected Attributes

std::vector< T * > m_vResources
std::stack< u32m_sHandles
core::Functor5< bool, Resource
**, const u32, const char
*, const char *, void * > * 
m_pCreateResourceFn
std::vector< Loader * > m_vLoaders
 Stores the resource loaders.

Additional Inherited Members

- Protected Member Functions inherited from kge::KgeUnknown
void SetDebugText (char *text)

Detailed Description

template<class T>
class kge::ResourceManager< T >

Resource manager take care of loading and unloading resources.

Definition at line 29 of file ResourceManager.h.

Constructor & Destructor Documentation

template<class T>
kge::ResourceManager< T >::ResourceManager ( core::Functor5< bool, Resource **, const u32, const char *, const char *, void * > *  CreateResourceFunction)
inline

Constructor.

Definition at line 34 of file ResourceManager.h.

template<class T>
virtual kge::ResourceManager< T >::~ResourceManager ( )
inlinevirtual

Destructor.

Definition at line 42 of file ResourceManager.h.

Member Function Documentation

template<class T>
virtual u32 kge::ResourceManager< T >::Add ( const char *  FileName,
void *  ExtraParams,
const char *  Name 
)
inlinevirtual

Loads or find a resource and return its handle.

Definition at line 61 of file ResourceManager.h.

Referenced by kge::ResourceManager< gfx::Shader >::Load().

template<class T>
virtual u32 kge::ResourceManager< T >::Add ( T *  pResource)
inlinevirtual

Adds a manual resource and returns its handle.

Definition at line 191 of file ResourceManager.h.

template<class T>
virtual u32 kge::ResourceManager< T >::Add2 ( const char *  FileName,
const char *  pCh,
void *  ExtraParams,
const char *  Name 
)
inlinevirtual

Loads or find a resource and return its handle.

Definition at line 126 of file ResourceManager.h.

template<class T>
u32 kge::ResourceManager< T >::GetNewHandle ( )
inline

returns resource handle before creating resource then use Add(Resource*, u32 Handel) function to set the loaded resource.

Definition at line 239 of file ResourceManager.h.

template<class T>
virtual T* kge::ResourceManager< T >::GetResource ( u32  handle)
inlinevirtual

Returns a resource.

Definition at line 231 of file ResourceManager.h.

template<class T>
T* kge::ResourceManager< T >::Load ( const char *  FileName,
void *  ExtraParams,
const char *  Name 
)
inline

Loads the resource and return its pointer.

Definition at line 261 of file ResourceManager.h.

template<class T>
void kge::ResourceManager< T >::RegisterLoader ( Loader pLoader)
inline

Register resource loaders for this loaders.

Definition at line 255 of file ResourceManager.h.

template<class T>
void kge::ResourceManager< T >::RemoveResource ( T *  pResource)
inline

Removes a resource from list. Dose not delete the Resource only remove it from list

Definition at line 220 of file ResourceManager.h.

Member Data Documentation

template<class T>
core::Functor5<bool , Resource** , const u32 , const char* , const char* , void* >* kge::ResourceManager< T >::m_pCreateResourceFn
protected
template<class T>
std::vector<Loader*> kge::ResourceManager< T >::m_vLoaders
protected

Stores the resource loaders.

Definition at line 351 of file ResourceManager.h.

Referenced by kge::ResourceManager< gfx::Shader >::Load(), and kge::ResourceManager< gfx::Shader >::RegisterLoader().


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