EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EffectsDataMgr.h
Go to the documentation of this file.
1 
12 #ifndef _EVE_FX_PROC_DATAMGR_H__
13 #define _EVE_FX_PROC_DATAMGR_H__
14 
15 #include "effects/EffectsData.h"
16 
17 class FxDataMgr
18 : public Singleton< FxDataMgr >
19 {
20 public:
21  FxDataMgr();
22  ~FxDataMgr();
23 
24  int Initialize();
25  void Populate();
26  bool isWarpSafe(uint16 eID);
27  bool isOffensive(uint16 eID);
28  bool isAssistance(uint16 eID);
29  uint16 GetEffectID(std::string effectName);
30  std::string GetEffectGuid(uint16 eID);
31  std::string GetEffectName(uint16 eID);
32 
33  Effect GetEffect(uint16 eID);
36 
37  void GetTypeEffect(uint16 typeID, std::vector< TypeEffects >& typeEffMap);
38 
39  float GetFxTime() { return m_time; }
40  uint16 GetFxSize() { return m_fxMap.size(); }
41 
42 protected:
43  void GetOperands(DBQueryResult& res);
44  void GetDgmEffects(DBQueryResult& res);
45  void GetExpressions(DBQueryResult& res);
47 
48 private:
49  bool m_loaded;
50  float m_time;
51 
52  // data maps
53  effectMapType m_fxMap; // k,v of effID, data -to search by effect
54 
55  effectMapType m_effectMap; //std::map<uint16, Effect>
56  std::map<uint16, Operand> m_opMap;
57  std::map<uint16, Expression> m_expMap;
58  std::map<std::string, uint16> m_effectName; // k,v of effectID, effectName. maps all effectIDs to their name.
59  std::unordered_multimap<uint16, TypeEffects> m_typeFxMap; // k,v of typeID, data<effectID, isDefault>
60 };
61 
62 #define sFxDataMgr \
63 ( FxDataMgr::get() )
64 
65 #endif // _EVE_FX_PROC_DATAMGR_H__
Operand GetOperand(uint16 oID)
std::map< std::string, uint16 > m_effectName
bool isWarpSafe(uint16 eID)
std::string GetEffectName(uint16 eID)
uint16 GetEffectID(std::string effectName)
int Initialize()
std::map< uint16, Expression > m_expMap
effectMapType m_effectMap
Expression GetExpression(uint16 eID)
std::string GetEffectGuid(uint16 eID)
float GetFxTime()
std::map< uint16, Effect > effectMapType
Definition: EffectsData.h:81
void GetDgmEffects(DBQueryResult &res)
void GetTypeEffect(uint16 typeID, std::vector< TypeEffects > &typeEffMap)
uint16 GetFxSize()
std::map< uint16, Operand > m_opMap
Effect GetEffect(uint16 eID)
void GetExpressions(DBQueryResult &res)
std::unordered_multimap< uint16, TypeEffects > m_typeFxMap
bool isAssistance(uint16 eID)
Template used for singleton classes.
Definition: Singleton.h:43
effectMapType m_fxMap
void GetDgmTypeEffects(DBQueryResult &res)
bool isOffensive(uint16 eID)
float m_time
unsigned __int16 uint16
Definition: eve-compat.h:48
void GetOperands(DBQueryResult &res)
void Populate()