2019-04-20 14:02:55 +02:00
|
|
|
#include "xp_data.h"
|
|
|
|
|
2019-10-16 02:33:26 +02:00
|
|
|
int XPData::get_max_level() {
|
|
|
|
return _xp_required.size();
|
2019-04-20 14:02:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
int XPData::xp_required_for_level(int level) {
|
2019-10-16 02:33:26 +02:00
|
|
|
ERR_FAIL_INDEX_V(level, _xp_required.size(), 9999999);
|
2019-09-12 14:40:57 +02:00
|
|
|
|
2019-10-16 02:33:26 +02:00
|
|
|
return _xp_required.get(level);
|
2019-04-20 14:02:55 +02:00
|
|
|
}
|
|
|
|
|
2019-09-12 14:40:57 +02:00
|
|
|
bool XPData::can_level_up(int level) {
|
2019-10-16 02:33:26 +02:00
|
|
|
return level < _xp_required.size();
|
2019-04-20 14:02:55 +02:00
|
|
|
}
|
|
|
|
|
2019-09-12 14:40:57 +02:00
|
|
|
PoolIntArray XPData::get_xps() {
|
|
|
|
return _xp_required;
|
|
|
|
}
|
|
|
|
void XPData::set_xps(const PoolIntArray &xps) {
|
|
|
|
_xp_required = xps;
|
|
|
|
}
|
|
|
|
|
|
|
|
XPData::XPData() {
|
2019-04-20 14:02:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
XPData::~XPData() {
|
|
|
|
}
|
|
|
|
|
|
|
|
void XPData::_bind_methods() {
|
2019-09-12 14:40:57 +02:00
|
|
|
ClassDB::bind_method(D_METHOD("get_max_level"), &XPData::get_max_level);
|
|
|
|
ClassDB::bind_method(D_METHOD("xp_required_for_level", "level"), &XPData::xp_required_for_level);
|
|
|
|
ClassDB::bind_method(D_METHOD("can_level_up", "level"), &XPData::can_level_up);
|
|
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("get_xps"), &XPData::get_xps);
|
|
|
|
ClassDB::bind_method(D_METHOD("set_xps", "auras"), &XPData::set_xps);
|
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::POOL_INT_ARRAY, "xps"), "set_xps", "get_xps");
|
2019-04-20 14:02:55 +02:00
|
|
|
}
|