![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: diGuyCharacterDataMgr.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 ** Created: 4/4/08 MEM 00008 *******************************************************************************/ 00009 00010 #ifndef diGuyCharacterDataMgr_H_ 00011 #define diGuyCharacterDataMgr_H_ 00012 00016 00019 00020 #include <libxml/xmlreader.h> 00021 #include <vlutil/vlString.h> 00022 #include <vlutil/vlFilename.h> 00023 #include <map> 00024 #include <list> 00025 #include "vrfutil/diGuyCharacterData.h" 00026 00027 class DtDIGuyCharacterAnimationTable; 00028 class DtDIGuyCharacterDataManager; 00029 #include "vrfutil/vrfutilDefines.h" 00030 class DT_DLL_vrfutil DtDIGuyCharacterDataManager 00031 { 00032 public: 00033 00034 static DtDIGuyCharacterDataManager* characterManager(); 00035 static DtDIGuyCharacterDataManager* creator(); 00036 00038 DtDIGuyCharacterDataManager(); 00039 00041 virtual ~DtDIGuyCharacterDataManager(); 00042 00044 DtDIGuyCharacterDataManager(const DtDIGuyCharacterDataManager& orig); 00045 00047 DtDIGuyCharacterDataManager& operator=(const DtDIGuyCharacterDataManager& orig); 00048 00050 virtual bool init(); 00051 00052 virtual void setCharacterDataFilename(const DtFilename & data); 00053 virtual void setAnimationsConfigurationFilename(const DtFilename & config); 00054 00056 virtual bool loadCharacterAnimationsFile(const DtFilename &mtlName); 00057 00059 virtual bool loadCharacterDataXmlFile(const DtFilename & xmlFile); 00060 00061 virtual bool readCharacterDataNode(const xmlNodePtr root, xmlNodePtr node); 00062 00063 virtual DtDIGuyCharacterData * lookupCharacterByName(const DtString & characterName); 00064 00066 virtual AlternateNamesList * availableCharactersList(); 00067 00068 protected: 00069 00070 virtual void addCharacterData(DtDIGuyCharacterData * data); 00071 00072 protected: 00073 00074 DtFilename myCharacterDataFilename; 00075 DtFilename myAnimationsConfigurationFilename; 00076 DtDIGuyCharacterAnimationTable * myAnimationsConfigurationFile; 00077 std::map<DtString,DtDIGuyCharacterData *> myCharacterMap; 00078 std::list<DtString> myCharactersList; 00079 00080 protected: 00081 00083 static DtDIGuyCharacterDataManager* theCharacterDataManager; 00084 static double theCharacterManagerVersion; 00085 00086 }; 00087 00088 #endif 00089