Mark LearnableAttacks on SpeciesVariant as unique.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-03-27 20:46:44 +01:00
parent 214ff81992
commit aee5bcb088
3 changed files with 9 additions and 7 deletions

View File

@@ -3,6 +3,7 @@
#include <Arbutils/Collections/List.hpp>
#include <Arbutils/Random.hpp>
#include <memory>
#include <string>
#include "../StatisticSet.hpp"
#include "CreatureMoves.hpp"
@@ -27,14 +28,14 @@ namespace CreatureLib::Library {
Library::StatisticSet<uint16_t> _baseStatistics;
List<ConstString> _talents;
List<ConstString> _secretTalents;
const LearnableAttacks* _attacks;
std::unique_ptr<const LearnableAttacks> _attacks;
public:
SpeciesVariant(ConstString name, float height, float weight, uint32_t baseExperience, List<uint8_t> types,
Library::StatisticSet<uint16_t> baseStats, List<ConstString> talents,
List<ConstString> secretTalents, const LearnableAttacks* attacks);
virtual ~SpeciesVariant();
virtual ~SpeciesVariant() = default;
inline const ConstString& GetName() const { return _name; }
inline float GetHeight() const { return _height; }
@@ -54,7 +55,7 @@ namespace CreatureLib::Library {
}
[[nodiscard]] const TalentIndex GetTalentIndex(const ConstString& talent) const;
[[nodiscard]] const LearnableAttacks* GetLearnableAttacks() const;
[[nodiscard]] const std::unique_ptr<const CreatureLib::Library::LearnableAttacks>& GetLearnableAttacks() const;
[[nodiscard]] TalentIndex GetRandomTalent(Arbutils::Random* rand) const;
[[nodiscard]] inline const List<ConstString>& GetTalents() const { return _talents; }
[[nodiscard]] inline const List<ConstString>& GetSecretTalents() const { return _secretTalents; }