00001 
#ifndef MATERIALMANAGER_H
00002 
#define MATERIALMANAGER_H
00003 
00004 
#pragma once
00005 
#include "ResourceManager.h"
00006 
#include "OpenGLMaterial.h"
00007 
00009 
00014 class CMaterialManager : 
public CResourceManager, 
public CSingleton<CMaterialManager>
00015 {
00016 
00017 
public:
00018         
CMaterialManager();
00019         
virtual ~
CMaterialManager();
00020 
00029         
virtual CMaterial *
LoadResource(
TiXmlNode *pDataNode, CString strFilename, UINT uiID = 0, CString strName = 
"");
00038         
virtual CMaterial *
GetResource(
int uiIndex, 
int uiID = -1, CString strName = 
"", CString strFilename = 
"");
00046         
virtual CMaterial *
AddResource(CString strName, UINT uiID = 0, eEntityType ResourceType = Entity_Default);
00052         
int RemoveResource(
CMaterial *pMaterial);
00053 
00059         
virtual int LoadXML(
TiXmlNode *pDataNode, CString strFilename);
00065         
virtual int SaveXML(
TiXmlNode *pDataNode, CString strFilename);
00070         
virtual void Destroy();
00075         
virtual bool IsOfType(eEntityType eType);
00076 };
00077 
00078 
#endif