#pragma once #include //#include #include "WorldLocation.h" #include "K3DTypes.h" struct WORLD_LOCATION_INFO { int nWLocID; std::vector< WorldLocationBase* > vWLocInfo; WorldLocationBase* Find( int nTimeID, int nWeatherID ); WorldLocationBase* GetFirst(); /// 2011.11.09 - prodongi bool getPreloadingDistance(int mapX, int mapY, int& preloadingDistance); public: WORLD_LOCATION_INFO(); ~WORLD_LOCATION_INFO(); }; class SWorldLocationDB { protected: KHash< WORLD_LOCATION_INFO*, hashPr_mod_int> m_hashWorldLocation; void Init(); void Destroy(); void Load(); public: const WorldLocationBase* GetWLData( int nID, int nTimeID, int nWeatherID ); int GetWLTextID( int nID, bool bCheckApplyLocationName=true ); public: void GetSkyColor( K3DColor& color_s, K3DColor& color_m, K3DColor& color_e, const WorldLocationBase* pData ); void GetFogColor( K3DColor& color, const WorldLocationBase* pData ); void GetHeightLinear( K3DVector& vHeight, K3DVector& vLinear, const WorldLocationBase* pData ); void GetLightColor( K3DColor& color_s, K3DColor& color_a, K3DColor& color_d, const WorldLocationBase* pData ); void GetCloudColor( K3DColor& color, const WorldLocationBase* pData ); void GetAurora( float & fAuroraTrans, float & fAuroraScale, float & fAuroraAngle, float & fAuroraHeight, const WorldLocationBase* pData );// Aurora. bintitle. /// 2011.11.09 map pos로 월드의 preloading distance를 구한다 - prodongi int getPreloadingDistance(int mapX, int mapY); public: SWorldLocationDB(); ~SWorldLocationDB(); static SWorldLocationDB* m_pThis; }; SWorldLocationDB & GetWorldLocationDB();