26 lines
955 B
C++
26 lines
955 B
C++
|
#ifndef CREATURELIB_TALENT_HPP
|
||
|
#define CREATURELIB_TALENT_HPP
|
||
|
#include <Arbutils/Collections/List.hpp>
|
||
|
#include <Arbutils/StringView.hpp>
|
||
|
#include <utility>
|
||
|
#include "../EffectParameter.hpp"
|
||
|
|
||
|
namespace CreatureLib::Library {
|
||
|
class Talent {
|
||
|
public:
|
||
|
Talent(const ArbUt::StringView& name, const ArbUt::StringView& effect, ArbUt::List<EffectParameter*> parameters)
|
||
|
: _name(name), _effect(effect), _parameters(std::move(parameters)) {}
|
||
|
|
||
|
[[nodiscard]] inline const ArbUt::StringView& GetName() const noexcept { return _name; }
|
||
|
[[nodiscard]] inline const ArbUt::StringView& GetEffect() const noexcept { return _effect; }
|
||
|
[[nodiscard]] inline const ArbUt::List<EffectParameter*>& GetParameters() const noexcept { return _parameters; }
|
||
|
|
||
|
private:
|
||
|
ArbUt::StringView _name;
|
||
|
ArbUt::StringView _effect;
|
||
|
ArbUt::List<EffectParameter*> _parameters;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
#endif // CREATURELIB_TALENT_HPP
|