Implement basic type library.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
22
src/Library/TypeLibrary.hpp
Normal file
22
src/Library/TypeLibrary.hpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef CREATURELIB_TYPELIBRARY_HPP
|
||||
#define CREATURELIB_TYPELIBRARY_HPP
|
||||
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
namespace CreatureLib::Library{
|
||||
class TypeLibrary {
|
||||
std::unordered_map<std::string, uint8_t > _types;
|
||||
std::vector<std::vector<float>> _effectiveness;
|
||||
public:
|
||||
uint8_t GetTypeId(const std::string& s) const;
|
||||
float GetSingleEffectiveness(uint8_t attacking, uint8_t defensive) const;
|
||||
float GetEffectiveness(uint8_t attacking, const std::vector<uint8_t>& defensive) const;
|
||||
|
||||
uint8_t RegisterType(const std::string& typeName);
|
||||
void SetEffectiveness(uint8_t attacking, uint8_t defensive, float effectiveness);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //CREATURELIB_TYPELIBRARY_HPP
|
||||
Reference in New Issue
Block a user