![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: diGuyCharacterData.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 ** Created: 4/7/08 MEM 00008 *******************************************************************************/ 00009 00012 00013 #ifndef diGuyCharacterData_H_ 00014 #define diGuyCharacterData_H_ 00015 00016 #include <vlutil/vlString.h> 00017 #include <vector> 00018 #include <map> 00019 #include <vrfExtProtocol/objType.h> 00020 #include "vrfutil/diGuyIntrinsicAnimationMap.h" 00021 #include "vrfutil/bufferSerialize.h" 00022 #include "vrfutil/diGuyAnimation.h" 00023 00024 class DtDIGuyAnimation; 00025 class DtDIGuyIntrinsicAnimationMap; 00026 00029 00032 typedef std::pair<DtString,DtString> AlternateNamesPair; 00033 00034 typedef std::vector<AlternateNamesPair> AlternateNamesList; 00035 typedef AlternateNamesList::iterator AlternateNamesListIterator; 00036 typedef AlternateNamesList::const_iterator const_AlternateNamesListIterator; 00037 00038 #include "vrfutil/vrfutilDefines.h" 00039 class DT_DLL_vrfutil DtDIGuyCharacterData 00040 { 00041 public: 00042 00043 typedef std::map<DtString, DtDIGuyAnimationSharedPtr> TaskAnimationMap; 00044 typedef TaskAnimationMap::iterator TaskAnimationMapIterator; 00045 typedef TaskAnimationMap::const_iterator const_TaskAnimationMapIterator; 00046 00047 DtDIGuyCharacterData(); 00048 00049 DtDIGuyCharacterData(const DtString& name); 00050 00051 DtDIGuyCharacterData(const DtDIGuyCharacterData& orig); 00052 00053 virtual ~DtDIGuyCharacterData(); 00054 00055 DtDIGuyCharacterData& operator=(const DtDIGuyCharacterData& orig); 00056 00057 virtual void init(); 00058 00060 00061 virtual void setCharacterTypeName(const DtString& name); 00062 virtual const DtString & characterTypeName() const; 00064 00065 virtual void setDeadAnimation(DtDIGuyAnimationSharedPtr deadAnimation); 00066 virtual DtDIGuyAnimation * deadAnimation(); 00067 00069 virtual DtDIGuyAnimation * lookupTaskAnimationByName(const DtString & name); 00070 00072 00073 virtual std::vector<DtString> appearances() const; 00075 00076 virtual void addAppearance(const DtString & app); 00077 00079 00080 00081 virtual TaskAnimationMap * taskableAnimations(); 00082 00084 virtual AlternateNamesList taskableAnimationNames(); 00085 00087 virtual AlternateNamesList * animationNames(); 00088 00089 virtual void addTaskAnimation(const DtString & name, DtDIGuyAnimationSharedPtr animation); 00091 00093 00094 virtual DtDIGuyIntrinsicAnimationMap * intrinsicAnimations(); 00095 00096 virtual void addIntrinsicAnimation(const DtString & name, DtDIGuyAnimationSharedPtr animation); 00098 00099 virtual DtDIGuyAnimation * lookupIntrinsicAnimationByName(const DtString & name); 00100 00102 virtual DtDIGuyCharacterData* clone() const; 00103 00104 protected: 00105 00106 DtString myCharacterTypeName; 00107 std::vector<DtString> myCharacterApperances; 00108 TaskAnimationMap myTaskAnimationsMap; 00109 DtDIGuyIntrinsicAnimationMap myIntrinsicAnimationsMap; 00110 DtFilename myIntrinsicAnimationsFilename; 00111 AlternateNamesList myAnimationNames; 00114 DtDIGuyAnimationSharedPtr myDeadAnimation; 00115 }; 00116 00117 #endif