VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
diGuyCharacterDataManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
14 
15 #include <libxml/xmlreader.h>
16 #include <vlutil/vlString.h>
17 #include <vlutil/vlFilename.h>
18 #include <map>
19 #include <list>
21 
24 
26 
27 namespace makVrv
28 {
29  class DtDiGuyScenario;
30 }
31 
35 {
36  public:
37 
39  static DtDiGuyCharacterDataManager* characterManager();
41  static DtDiGuyCharacterDataManager* creator(const DtFilename& appDataDir, const DtFilename& dataDir);
42  static DtDiGuyCharacterDataManager* creator(const DtFilename& appDataDir, const DtFilename& dataDir, makVrv::DtDiGuyScenario*);
43 
45  DtDiGuyCharacterDataManager(const DtFilename& appDataDir, const DtFilename& dataDir);
46  DtDiGuyCharacterDataManager(const DtFilename& appDataDir, const DtFilename& dataDir, makVrv::DtDiGuyScenario*);
47 
49  virtual ~DtDiGuyCharacterDataManager();
50 
53 
56 
58  virtual bool init();
59 
60  virtual void setAnimationsConfigurationFilename(const DtFilename & config);
61 
63  virtual bool loadCharacterAnimationsFile(const DtFilename &mtlName);
64 
67  virtual bool loadDataFromDIGuy();
68 
70  virtual DtDiGuyCharacterData * lookupCharacterByName(const DtString & characterName);
71 
73  virtual AlternateNamesList * availableCharactersList();
74 
77  virtual void getAppearancesMatchingDiGuyTypeMap(const DtString &characterType, std::vector<DtString> &fields, std::vector<DtString> &retAppearances);
80  virtual void getAppearancesMatchingPartialDiGuyTypeMap(const DtString &characterType, std::vector<DtString> &partialFields,
81  std::vector<int> &fieldIndices, std::vector<DtString> &retAppearances);
85  virtual void getTypeMapFieldOptions(const DtString &characterType, std::vector<DtString> &fields, std::vector<std::list<DtString> > &retValues);
87  virtual void getTypeMapPartialFieldOptions(const DtString &characterType, std::vector<DtString> &partialFields, std::vector<int> &fieldIndices,
88  std::vector<std::list<DtString> > &retValues);
89 
90  DtDiGuyCharacterAnimationsTable* animationTable() const
91  {
92  return myAnimationsConfigurationFile;
93  }
94 
96  static int numberOfDiGuyTypeMapFields();
97 
98  DtVrvDiGuyCharacterData* masterDiGuyCharacterData() const
99  {
100  return myMasterDiGuyCharacterData;
101  }
102 
104  virtual makVrv::DtDiGuyScenario* lightweightInstance();
105 
106 protected:
107 
108  virtual void addCharacterData(DtDiGuyCharacterData * data);
110  void findListIntersection(std::list<DtString> &orig, std::list<DtString> &second);
112  void debugPrint(const char *fmt, ...);
113 
114 protected:
115 
118  std::map<DtString,DtDiGuyCharacterData *> myCharacterMap;
119  std::list<DtString> myCharactersList;
121 
123  DtFilename myDataDir;
125 
126 protected:
127 
131 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)