mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-26 15:33:34 +00:00
9655f0ee45
fix compile issues
39 lines
1.2 KiB
C++
39 lines
1.2 KiB
C++
#ifndef IPROPERTY_H
|
|
#define IPROPERTY_H
|
|
|
|
#include <cstdint>
|
|
#include <optional>
|
|
|
|
class IProperty {
|
|
public:
|
|
struct Info {
|
|
std::string name;
|
|
std::string description;
|
|
std::string rejectionReason;
|
|
LWOOBJID id{};
|
|
uint32_t ownerId{};
|
|
LWOCLONEID cloneId{};
|
|
int32_t privacyOption{};
|
|
uint32_t modApproved{};
|
|
uint32_t lastUpdatedTime{};
|
|
uint32_t claimedTime{};
|
|
uint32_t reputation{};
|
|
};
|
|
|
|
// Get the property info for the given property id.
|
|
virtual std::optional<IProperty::Info> GetPropertyInfo(const LWOMAPID mapId, const LWOCLONEID cloneId) = 0;
|
|
|
|
// Update the property moderation info for the given property id.
|
|
virtual void UpdatePropertyModerationInfo(const IProperty::Info& info) = 0;
|
|
|
|
// Update the property details for the given property id.
|
|
virtual void UpdatePropertyDetails(const IProperty::Info& info) = 0;
|
|
|
|
// Update the property performance cost for the given property id.
|
|
virtual void UpdatePerformanceCost(const LWOZONEID& zoneId, const float performanceCost) = 0;
|
|
|
|
// Insert a new property into the database.
|
|
virtual void InsertNewProperty(const IProperty::Info& info, const uint32_t templateId, const LWOZONEID& zoneId) = 0;
|
|
};
|
|
#endif //!IPROPERTY_H
|