30 lines
1.1 KiB
C++
30 lines
1.1 KiB
C++
#ifndef CREATURELIB_LIBRARYSETTINGS_HPP
|
|
#define CREATURELIB_LIBRARYSETTINGS_HPP
|
|
|
|
#include <memory>
|
|
#include "../Defines.hpp"
|
|
|
|
namespace CreatureLib::Library {
|
|
/// @brief Hold the different runtime settings for a given library.
|
|
class LibrarySettings {
|
|
struct impl;
|
|
std::unique_ptr<impl> _impl;
|
|
|
|
public:
|
|
/// @brief Initialises LibrarySettings.
|
|
/// @param maximalLevel The maximal level a creature can be.
|
|
/// @param maximalAttacks The maximal number of attacks a creature can have.
|
|
LibrarySettings(level_int_t maximalLevel, u8 maximalAttacks);
|
|
virtual ~LibrarySettings();
|
|
|
|
/// @brief Returns the maximal level a creature can be in the current library.
|
|
/// @return The maximal level a creature can be in the current library.
|
|
[[nodiscard]] level_int_t GetMaximalLevel() const noexcept;
|
|
/// @brief Returns the maximal number of attacks a creature can have.
|
|
/// @return The maximal number of attacks a creature can have.
|
|
[[nodiscard]] u8 GetMaximalAttacks() const noexcept;
|
|
};
|
|
}
|
|
|
|
#endif // CREATURELIB_LIBRARYSETTINGS_HPP
|