CreatureLib/src/Library/LibrarySettings.hpp

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