DragonNest/Server/DNVillageServer/TradeCacheRepository.h
2024-12-19 09:48:26 +08:00

35 lines
No EOL
733 B
C++

#pragma once
#include "TimeSet.h"
struct TMarketPriceCacheData
{
BYTE cLevel;
BYTE cOption;
TMarketPrice ItemPrices[2];
};
namespace TradeSystem
{
class CMarketPriceCache :public CSingleton<CMarketPriceCache>
{
public:
CMarketPriceCache();
bool CheckResetCache ();
bool GetTradePrice (int nItemID, BYTE cLevel, BYTE cOption, TMarketPrice* pPrices);
void SetTradePrice (int nItemID, BYTE cLevel, BYTE cOption, TMarketPrice* pPrices);
void ClearCache();
private:
CSyncLock m_Sync;
// Key : <ItemID, VecData>
typedef std::map<int, std::vector<TMarketPriceCacheData>> MTradePrice;
typedef MTradePrice::iterator MTradePriceItor;
MTradePrice m_mTradePrice;
CTimeSet m_tLastResetTime;
};
}