My Project
DataProviderManager.h
1 #pragma once
2 
3 namespace ParaEngine
4 {
5  // forward declare
6  class CCharacterDB;
7  class CKidsDBProvider;
8  class CNpcDatabase;
9  class AttributeProvider;
10 
11  enum LocalGameLanguage
12  {
13  ENGLISH = 0,
14  SIMPLIFIEDCHINESE = 1,
15  RESERVED1 = 2 // Reserved for other language
16  };
17 
21  {
22  public:
23  static CDataProviderManager& GetSingleton();
24 
25  public:
27  void Cleanup();
28 
31 
34 
37  //static void GetKidsDBObject_(CKidsDBProvider* pOut);
38 
41 
44 
49  void SetNpcDB(const string& sConnectionstring);
50 
55  void SetAttributeProvider(const string& sConnectionstring);
56 
61  void SetKidsDBProvider(const string& sConnectionstring);
62 
68  void SetWorldDB(const string& sConnectionstring){
69  SetNpcDB(sConnectionstring);
70  SetAttributeProvider(sConnectionstring);
71  SetKidsDBProvider(sConnectionstring);
72  }
73 
75  LocalGameLanguage GetLocalGameLanguage(void);
77  void SetLocalGameLanguage(const LocalGameLanguage lang);
78 
79  private:
81  ~CDataProviderManager(void);
82 
83  LocalGameLanguage m_language;
84 
85  CNpcDatabase* m_dbNPC;
86  AttributeProvider* m_dbAttribute;
87  CKidsDBProvider* m_dbKids;
88  };
89 }
CKidsDBProvider * GetKidsDBProvider()
get the current kids game database
Definition: DataProviderManager.cpp:61
void SetNpcDB(const string &sConnectionstring)
set the global NPC data base to a new database file.
Definition: DataProviderManager.cpp:109
different physics engine has different winding order.
Definition: EventBinding.h:32
NPC data provider.
Definition: NpcDatabase.h:93
AttributeProvider * GetAttributeProvider()
get the current attribute data provider.
Definition: DataProviderManager.cpp:96
LocalGameLanguage GetLocalGameLanguage(void)
Get local game language.
Definition: DataProviderManager.cpp:128
void Cleanup()
cleanup everything.
Definition: DataProviderManager.cpp:37
void SetKidsDBProvider(const string &sConnectionstring)
set the current kids game data base to a new database file.
Definition: DataProviderManager.cpp:121
a singleton class for managing all data providers used in the game engine.
Definition: DataProviderManager.h:20
Attribute fields data provider: it is a group of attribute stored in {name, value} value pair fasion ...
Definition: AttributeProvider.h:32
it contains all functions to access the character database.
Definition: CharacterDB.h:8
void SetAttributeProvider(const string &sConnectionstring)
set the current attribute data base to a new database file.
Definition: DataProviderManager.cpp:116
void SetWorldDB(const string &sConnectionstring)
set world database.
Definition: DataProviderManager.h:68
CNpcDatabase * GetNpcDB()
this function shall never be called from the scripting interface.
Definition: DataProviderManager.cpp:78
CCharacterDB * GetCharacterDB()
get the global character model database
Definition: DataProviderManager.cpp:52
Definition: KidsDBProvider.h:30
void SetLocalGameLanguage(const LocalGameLanguage lang)
Set local game language.
Definition: DataProviderManager.cpp:133