VR-Forces 4.0.4 Class Documentation
include/vrfutil/diGuyCharacterData.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)