#ifndef SAPPHIRE_HOUSE_H #define SAPPHIRE_HOUSE_H #include "Forwards.h" #include #include #include namespace Sapphire { class House { public: House( uint32_t houseId, uint32_t landSetId, Common::LandIdent ident, const std::string& estateName, const std::string& estateComment ); virtual ~House(); using HousePart = std::pair< uint32_t, uint16_t >; using HouseModelsArray = std::array< HousePart, 8 >; //gerneral uint32_t getLandSetId() const; Common::LandIdent getLandIdent() const; uint32_t getHouseId() const; const std::string& getHouseName() const; void setHouseName( const std::string& name ); const std::string& getHouseGreeting() const; void setHouseGreeting( const std::string& greeting ); //functions void setExteriorModel( Common::HousePartSlot slot, uint32_t modelId, uint16_t stain ); HousePart getExteriorModel( Common::HousePartSlot slot ); void setInteriorModel( Common::HousingInteriorSlot slot, uint32_t modelId ); uint32_t getInteriorModel( Common::HousingInteriorSlot slot ); HouseModelsArray const& getHouseModels() const; void updateHouseDb(); private: uint32_t m_landSetId; Common::LandIdent m_landIdent; uint32_t m_houseId; uint64_t m_buildTime; HouseModelsArray m_exteriorModelCache; uint32_t m_interiorModelCache[10]; std::string m_estateComment; std::string m_estateName; }; } #endif // SAPPHIRE_HOUSE_H