EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
CustomsOffice.h
Go to the documentation of this file.
1 
11 #ifndef EVEMU_POS_CUSTOMS_OFFICE_H_
12 #define EVEMU_POS_CUSTOMS_OFFICE_H_
13 
14 #include "../eve-server.h"
15 
17 #include "pos/PosMgrDB.h"
18 #include "system/SystemEntity.h"
19 
20 class PlanetSE;
21 class Call_TaxRateValuesDict;
22 
23 class CustomsSE
24 : public ObjectSystemEntity
25 {
26 public:
28  virtual ~CustomsSE() { /* do nothing here */ }
29 
30 
31  /* class type pointer querys. */
32  virtual CustomsSE* GetCOSE() { return this; }
33 
34  /* class type tests. */
35  virtual bool IsCOSE() { return true; }
36  //virtual bool isGlobal() { return true; }
37 
38  /* SystemEntity interface */
39  virtual void Process();
40  virtual void EncodeDestiny( Buffer& into );
41  virtual PyDict* MakeSlimItem();
42 
43  /* virtual functions default to base class and overridden as needed */
44  virtual void Killed(Damage &fatal_blow);
45  virtual void InitData();
46  virtual void Init();
47 
48  /* virtual functions to be overridden in derived classes */
49  virtual void MissileLaunched(Missile* pMissile) { /* Do nothing here */ }
50 
51  /* specific functions handled in this class. */
52  void SetAnchor(Client* pClient, GPoint& pos);
53  void PullAnchor();
55  void Reinforced() { /* do nothing here yet */ }
56  void GetEffectState(PyList& into);
57  uint8 GetState() const { return m_cData.state; }
58  float GetStatus() { return m_cData.status; }
59  bool IsReinforced() { return false; }
61  // for orbital infrastructure
62  void SetPlanet(uint32 planetID) { m_oData.planetID = planetID; }
64  float GetTaxRate(Client* pClient);
65 
68 
69  void UpdateSettings(int8 selectedHour, int8 standingValue, bool ally, bool standings, Call_TaxRateValuesDict& taxRateValues);
70 
71  void VerifyAddItem(InventoryItemRef iRef); // this must throw on failure
72 
73 protected:
74  void SendSlimUpdate();
75  void SendEffectUpdate(int16 effectID, bool active);
76 
77 private:
79 
82 
85 };
86 
87 #endif // EVEMU_POS_CUSTOMS_OFFICE_H_
Base Python wire object.
Definition: PyRep.h:66
void GetEffectState(PyList &into)
CustomsSE(StructureItemRef sRef, PyServiceMgr &services, SystemManager *system, const FactionData &data)
unsigned __int8 uint8
Definition: eve-compat.h:46
PlanetSE * GetPlanetSE()
Definition: CustomsOffice.h:54
float GetTaxRate(Client *pClient)
Python's dictionary.
Definition: PyRep.h:719
SystemManager * m_system
Definition: CustomsOffice.h:83
virtual void Init()
void UpdateSettings(int8 selectedHour, int8 standingValue, bool ally, bool standings, Call_TaxRateValuesDict &taxRateValues)
uint8 GetState() const
Definition: CustomsOffice.h:57
uint32 GetPlanetID()
Definition: CustomsOffice.h:63
virtual void InitData()
virtual CustomsSE * GetCOSE()
Definition: CustomsOffice.h:32
signed __int8 int8
Definition: eve-compat.h:45
virtual bool IsCOSE()
Definition: CustomsOffice.h:35
void SetAnchor(Client *pClient, GPoint &pos)
EVEPOS::CustomsData m_cData
Definition: CustomsOffice.h:80
float GetStatus()
Definition: CustomsOffice.h:58
void VerifyAddItem(InventoryItemRef iRef)
Definition: gpoint.h:33
void SendSlimUpdate()
Generic class for buffers.
Definition: Buffer.h:40
virtual void Process()
PyRep * GetSettingsInfo()
Definition: Damage.h:33
void PullAnchor()
Definition: Client.h:66
void SendEffectUpdate(int16 effectID, bool active)
unsigned __int32 uint32
Definition: eve-compat.h:50
virtual ~CustomsSE()
Definition: CustomsOffice.h:28
signed __int16 int16
Definition: eve-compat.h:47
void GetSettingsInfo(EVEPOS::CustomsData &data)
Definition: CustomsOffice.h:67
void Reinforced()
Definition: CustomsOffice.h:55
virtual void Killed(Damage &fatal_blow)
bool IsReinforced()
Definition: CustomsOffice.h:59
void SetPlanet(uint32 planetID)
Definition: CustomsOffice.h:62
virtual void MissileLaunched(Missile *pMissile)
Definition: CustomsOffice.h:49
virtual void EncodeDestiny(Buffer &into)
EVEPOS::OrbitalData m_oData
Definition: CustomsOffice.h:81
virtual PyDict * MakeSlimItem()
Python list.
Definition: PyRep.h:639
PosMgrDB m_db
Definition: CustomsOffice.h:78
Reference-counting-based smart pointer.
Definition: RefPtr.h:133
PlanetSE * m_planetSE
Definition: CustomsOffice.h:84