31 sLog.Blue(
" StationDataMgr",
"Station Data Manager Initialized.");
41 sLog.Warning(
" StationDataMgr",
"Station Data Manager has been closed." );
52 m_stationPyData.clear();
63 std::map<int8, int32>::iterator itr;
68 itr->second += row.
GetInt(1);
137 sLog.Cyan(
" StationDataMgr",
"%u Station data sets loaded in %.3fms.", \
152 for (
auto itr = range.first; itr != range.second; ++itr)
153 data.emplace(itr->second.officeID, itr->second);
169 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
171 return itr->second.corporationID;
178 for (
auto itr = range.first; itr != range.second; ++itr)
179 if (itr->second.corporationID == corpID)
180 return itr->second.officeID;
186 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
188 return itr->second.dockPosition.y;
194 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
196 return itr->second.name;
198 _log(DATABASE__MESSAGE,
"Failed to query station name for station %u: Station not found.", stationID);
205 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
207 return itr->second.systemID;
209 _log(DATABASE__MESSAGE,
"Failed to query station systemID for station %u: Station not found.", stationID);
217 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
222 _log(DATABASE__MESSAGE,
"Failed to query data for station %u: Station not found.", stationID);
229 std::map<uint32, PyObject*>::iterator itr =
m_stationPyData.find(stationID);
234 _log(DATABASE__MESSAGE,
"Failed to query data for station %u: Station not found.", stationID);
242 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
244 std::map<int8, int32>::iterator itr2;
246 result->
SetItem(0,
new PyInt(itr->second.hangarGraphicID));
247 result->
SetItem(1,
new PyInt(itr->second.corporationID));
262 if (
sDataMgr.IsStation(locationID)) {
264 for (
auto itr = range.first; itr != range.second; ++itr)
265 data.push_back(itr->second);
268 for (
auto itr = range.first; itr != range.second; ++itr)
269 if (itr->second.folderID == locationID)
270 data.push_back(itr->second);
275 if (cur.second.officeID == locationID) {
276 data.push_back(cur.second);
284 std::map<uint32, StationData>::iterator itr =
m_stationData.find(stationID);
286 return itr->second.officeRentalFee;
320 dict->
SetItemString(
"reprocessingHangarFlag",
new PyInt(cur.second.reprocessingHangarFlag));
321 dict->
SetItemString(
"reprocessingStationsTake",
new PyFloat(cur.second.reprocessingStationsTake));
const char * GetText(uint32 index) const
std::map< uint32, PyObject * > m_stationPyData
#define _log(type, fmt,...)
#define IsOfficeFolder(itemID)
float GetFloat(uint32 index) const
PyObject * GetStationPyData(uint32 stationID)
int32 GetInt(uint32 index) const
float dockingCostPerVolume
bool GetStationData(uint32 stationID, StationData &data)
uint32 GetUInt(uint32 index) const
double GetDouble(uint32 index) const
uint32 GetOfficeIDForCorp(uint32 stationID, uint32 corpID)
Python floating point number.
double GetDockPosY(uint32 stationID)
uint32 GetOfficeRentalFee(uint32 stationID)
static void GetOperationServiceIDs(DBQueryResult &res)
uint32 GetStationSystemID(uint32 stationID)
void SafeDelete(T *&p)
Deletes and nullifies a pointer.
bool GetRow(DBResultRow &into)
bool GetBool(uint32 index) const
#define sLog
Evaluates to a NewLog instance.
std::map< int8, int32 > m_serviceMask
uint32 GetOwnerID(uint32 stationID)
void SetItem(size_t index, PyRep *object)
Stores Python object.
float reprocessingStationsTake
static void GetStationData(DBQueryResult &res)
void LoadOffices(uint32 stationID, std::map< uint32, OfficeData > &data)
std::multimap< uint32, OfficeData > m_stationOfficeData
void AddOffice(uint32 stationID, OfficeData &data)
#define IsOfficeID(itemID)
#define STATION_OFFICE_OFFSET
PyRep * GetStationItemBits(uint32 stationID)
std::map< uint32, StationData > m_stationData
void GetStationOfficeIDs(uint32 locationID, std::vector< OfficeData > &data)
uint32 maxShipVolumeDockable
int64 GetInt64(uint32 index) const
uint16 reprocessingHangarFlag
float reprocessingEfficiency
std::string GetStationName(uint32 stationID)
void SetItemString(const char *key, PyRep *value)
SetItemString adds or sets a database entry.
static void GetStationOfficeData(DBQueryResult &res)