Replace most collections with Arbutils collections for more safety.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-03-22 19:21:40 +01:00
parent f190121e74
commit 27288563cd
40 changed files with 234 additions and 226 deletions

View File

@@ -1,29 +1,27 @@
#ifndef CREATURELIB_LOOKUPGROWTHRATE_HPP
#define CREATURELIB_LOOKUPGROWTHRATE_HPP
#include <vector>
#include <Arbutils/Collections/List.hpp>
#include "GrowthRate.hpp"
namespace CreatureLib::Library {
class LookupGrowthRate : public GrowthRate {
protected:
std::vector<uint32_t> _experience;
Arbutils::Collections::List<uint32_t> _experience;
public:
LookupGrowthRate(const std::vector<uint32_t>& experience) : _experience(experience) {}
LookupGrowthRate(const Arbutils::Collections::List<uint32_t>& experience) : _experience(experience) {}
uint8_t CalculateLevel(uint32_t experience) const override {
for (uint8_t i = 0; i < _experience.size(); i++) {
for (uint8_t i = 0; i < _experience.Count(); i++) {
if (_experience[i] > experience) {
return i;
}
}
return _experience[_experience.size() - 1];
return _experience[_experience.Count() - 1];
}
uint32_t CalculateExperience(uint8_t level) const override {
Assert(level <= _experience.size())
return _experience[level - 1];
}
uint32_t CalculateExperience(uint8_t level) const override { return _experience[level - 1]; }
};
}