CreatureLib/src/Library/TypeLibrary.cpp

26 lines
771 B
C++

#include "TypeLibrary.hpp"
#include <Arbutils/Assert.hpp>
using namespace CreatureLib::Library;
uint8_t TypeLibrary::RegisterType(const ArbUt::StringView& key) {
_types.Insert(key, _types.Count());
_effectiveness.Resize(_types.Count());
for (auto& eff : _effectiveness) {
eff.Resize(_types.Count(), 1);
}
return _types.Count() - 1;
}
uint8_t TypeLibrary::RegisterType(uint32_t key) {
_types.Insert(key, _types.Count());
_effectiveness.Resize(_types.Count());
for (auto& eff : _effectiveness) {
eff.Resize(_types.Count(), 1);
}
return _types.Count() - 1;
}
void TypeLibrary::SetEffectiveness(uint8_t attacking, uint8_t defensive, float effectiveness) {
_effectiveness[attacking][defensive] = effectiveness;
}