Now entity also stores the class level, and class xp. Added separate class and character xp properties to EntityCreateInfo aswell. Standardized the remaining methods in XPData.

This commit is contained in:
Relintai 2020-02-20 12:18:55 +01:00
parent a2d4df0c89
commit 581127cde5
6 changed files with 251 additions and 126 deletions

View File

@ -24,23 +24,23 @@ SOFTWARE.
#include "../../entity_enums.h"
int XPData::get_max_level() {
int XPData::get_character_max_level() {
return EntityEnums::MAX_CHARACTER_LEVEL;
}
int XPData::get_xp(int level) {
int XPData::get_character_xp(int level) {
ERR_FAIL_INDEX_V(level - 1, EntityEnums::MAX_CHARACTER_LEVEL, 9999999);
return _xps.get(level - 1);
return _character_xps.get(level - 1);
}
void XPData::set_xp(int level, int value) {
void XPData::set_character_xp(int level, int value) {
ERR_FAIL_INDEX(level - 1, EntityEnums::MAX_CHARACTER_LEVEL);
_xps.set(level - 1, value);
_character_xps.set(level - 1, value);
}
bool XPData::can_level_up(int level) {
bool XPData::can_character_level_up(int level) {
return level < EntityEnums::MAX_CHARACTER_LEVEL;
}
@ -65,10 +65,10 @@ bool XPData::can_class_level_up(int level) {
}
XPData::XPData() {
_xps.resize(EntityEnums::MAX_CHARACTER_LEVEL);
_character_xps.resize(EntityEnums::MAX_CHARACTER_LEVEL);
for (int i = 0; i < _xps.size(); ++i) {
_xps.set(i, 0);
for (int i = 0; i < _character_xps.size(); ++i) {
_character_xps.set(i, 0);
}
_class_xps.resize(EntityEnums::MAX_CLASS_LEVEL);
@ -82,14 +82,14 @@ XPData::~XPData() {
}
void XPData::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_max_level"), &XPData::get_max_level);
ClassDB::bind_method(D_METHOD("get_xp", "level"), &XPData::get_xp);
ClassDB::bind_method(D_METHOD("set_xp", "level", "value"), &XPData::set_xp);
ClassDB::bind_method(D_METHOD("can_level_up", "level"), &XPData::can_level_up);
ClassDB::bind_method(D_METHOD("get_character_max_level"), &XPData::get_character_max_level);
ClassDB::bind_method(D_METHOD("get_character_xp", "level"), &XPData::get_character_xp);
ClassDB::bind_method(D_METHOD("set_character_xp", "level", "value"), &XPData::set_character_xp);
ClassDB::bind_method(D_METHOD("can_character_level_up", "level"), &XPData::can_character_level_up);
ADD_GROUP("Level", "level_");
ADD_GROUP("Character Level", "character_level_");
for (int i = 1; i <= EntityEnums::MAX_CHARACTER_LEVEL; ++i) {
ADD_PROPERTYI(PropertyInfo(Variant::INT, "level_" + String::num(i)), "set_xp", "get_xp", i);
ADD_PROPERTYI(PropertyInfo(Variant::INT, "character_level_" + String::num(i)), "set_character_xp", "get_character_xp", i);
}
ClassDB::bind_method(D_METHOD("get_class_max_level"), &XPData::get_class_max_level);

View File

@ -31,10 +31,10 @@ class XPData : public Resource {
GDCLASS(XPData, Resource);
public:
int get_max_level();
int get_xp(int level);
void set_xp(int level, int value);
bool can_level_up(int level);
int get_character_max_level();
int get_character_xp(int level);
void set_character_xp(int level, int value);
bool can_character_level_up(int level);
int get_class_max_level();
int get_class_xp(int level);
@ -48,7 +48,7 @@ protected:
static void _bind_methods();
private:
Vector<int> _xps;
Vector<int> _character_xps;
Vector<int> _class_xps;
};

View File

@ -238,40 +238,72 @@ void Entity::setc_gender(EntityEnums::EntityGender value) {
}
}
int Entity::gets_level() {
return _s_level;
int Entity::gets_class_level() {
return _s_class_level;
}
void Entity::sets_level(int value) {
_s_level = value;
void Entity::sets_class_level(int value) {
_s_class_level = value;
emit_signal("son_character_level_changed", this, value);
VRPC(setc_level, value);
VRPC(setc_class_level, value);
}
int Entity::getc_level() {
return _c_level;
int Entity::getc_class_level() {
return _c_class_level;
}
void Entity::setc_level(int value) {
_c_level = value;
void Entity::setc_class_level(int value) {
_c_class_level = value;
emit_signal("con_character_level_changed", this, value);
}
int Entity::gets_xp() {
return _s_xp;
int Entity::gets_character_level() {
return _s_character_level;
}
void Entity::sets_xp(int value) {
_s_xp = value;
void Entity::sets_character_level(int value) {
_s_character_level = value;
ORPC(setc_xp, value);
emit_signal("son_character_level_changed", this, value);
VRPC(setc_character_level, value);
}
int Entity::getc_character_level() {
return _c_character_level;
}
void Entity::setc_character_level(int value) {
_c_character_level = value;
emit_signal("con_character_level_changed", this, value);
}
int Entity::getc_xp() {
return _c_xp;
int Entity::gets_class_xp() {
return _s_class_xp;
}
void Entity::setc_xp(int value) {
_c_xp = value;
void Entity::sets_class_xp(int value) {
_s_class_xp = value;
ORPC(setc_class_xp, value);
}
int Entity::getc_class_xp() {
return _c_class_xp;
}
void Entity::setc_class_xp(int value) {
_c_class_xp = value;
}
int Entity::gets_character_xp() {
return _s_character_xp;
}
void Entity::sets_character_xp(int value) {
_s_character_xp = value;
ORPC(setc_character_xp, value);
}
int Entity::getc_character_xp() {
return _c_character_xp;
}
void Entity::setc_character_xp(int value) {
_c_character_xp = value;
}
int Entity::gets_money() {
@ -537,8 +569,11 @@ void Entity::_setup(Ref<EntityCreateInfo> info) {
sets_entity_name(_s_entity_data->get_name());
}
scharacter_levelup(info->get_level() - 1);
sets_xp(info->get_xp());
scharacter_levelup(info->get_character_level() - 1);
sclass_levelup(info->get_class_level() - 1);
sets_class_xp(info->get_class_xp());
sets_character_xp(info->get_character_xp());
}
void Entity::setup_actionbars() {
@ -811,8 +846,10 @@ Dictionary Entity::_to_dict() {
//dict["entity_data_id"] = _s_class_id;
dict["type"] = _s_type;
dict["gender"] = _s_gender;
dict["level"] = _s_level;
dict["xp"] = _s_xp;
dict["class_level"] = _s_class_level;
dict["character_level"] = _s_character_level;
dict["class_xp"] = _s_class_xp;
dict["character_xp"] = _s_character_xp;
dict["money"] = _s_money;
dict["seed"] = _s_seed;
@ -981,8 +1018,12 @@ void Entity::_from_dict(const Dictionary &dict) {
sets_entity_type((EntityEnums::EntityType)((int)dict.get("type", 0)));
sets_gender(static_cast<EntityEnums::EntityGender>(static_cast<int>(dict.get("gender", 0))));
sets_level(dict.get("level", 0));
sets_xp(dict.get("xp", 0));
sets_class_level(dict.get("class_level", 0));
sets_character_level(dict.get("character_level", 0));
sets_class_xp(dict.get("class_xp", 0));
sets_character_xp(dict.get("character_xp", 0));
sets_money(dict.get("money", 0));
sets_entity_name(dict.get("entity_name", ""));
@ -2217,14 +2258,16 @@ void Entity::copen_window(int window_id) {
//XP Operations
void Entity::adds_xp(int value) {
_s_xp += value;
_s_class_xp += value;
_s_character_xp += value;
son_xp_gained(value);
ORPC(addc_xp, value);
}
void Entity::addc_xp(int value) {
_c_xp += value;
_c_class_xp += value;
_c_character_xp += value;
con_xp_gained(value);
}
@ -2233,7 +2276,7 @@ void Entity::sclass_levelup(int value) {
if (value <= 0)
return;
if (_s_level == EntityEnums::MAX_CLASS_LEVEL)
if (_s_class_level == EntityEnums::MAX_CLASS_LEVEL)
return;
//_s_level += value;
@ -2243,7 +2286,7 @@ void Entity::sclass_levelup(int value) {
VRPC(cclass_levelup, value);
}
void Entity::cclass_levelup(int value) {
_c_level += value;
_c_class_level += value;
con_class_level_up(value);
}
@ -2252,17 +2295,17 @@ void Entity::scharacter_levelup(int value) {
if (value <= 0)
return;
if (_s_level == EntityEnums::MAX_CHARACTER_LEVEL)
if (_s_character_level == EntityEnums::MAX_CHARACTER_LEVEL)
return;
_s_level += value;
_s_character_level += value;
son_character_level_up(value);
VRPC(ccharacter_levelup, value);
}
void Entity::ccharacter_levelup(int value) {
_c_level += value;
_c_character_level += value;
con_character_level_up(value);
}
@ -5449,11 +5492,17 @@ Entity::Entity() {
_s_gender = EntityEnums::GENDER_MALE;
_c_gender = EntityEnums::GENDER_MALE;
_s_level = 1;
_c_level = 1;
_s_class_level = 1;
_c_class_level = 1;
_s_xp = 0;
_c_xp = 0;
_s_character_level = 1;
_c_character_level = 1;
_s_class_xp = 0;
_c_class_xp = 0;
_s_character_xp = 0;
_c_character_xp = 0;
_s_send_flag = 0;
@ -5533,24 +5582,19 @@ Entity::Entity() {
SET_RPC_REMOTE("setc_entity_type");
SET_RPC_REMOTE("setc_entity_name");
SET_RPC_REMOTE("setc_gender");
SET_RPC_REMOTE("setc_level");
SET_RPC_REMOTE("setc_xp");
SET_RPC_REMOTE("setc_class_level");
SET_RPC_REMOTE("setc_character_level");
SET_RPC_REMOTE("setc_class_xp");
SET_RPC_REMOTE("setc_character_xp");
SET_RPC_REMOTE("setc_seed");
//EntityType
SET_RPC_REMOTE("setc_entity_type");
//EntityInteractionType
SET_RPC_REMOTE("setc_entity_interaction_type");
SET_RPC_REMOTE("setc_entity_flags");
SET_RPC_REMOTE("setc_entity_name");
SET_RPC_REMOTE("setc_gender");
SET_RPC_REMOTE("setc_level");
SET_RPC_REMOTE("setc_xp");
SET_RPC_REMOTE("setc_money");
SET_RPC_REMOTE("setc_entity_data_id");
//// Stats ////
@ -5823,15 +5867,22 @@ void Entity::_scraft(int id) {
}
void Entity::_son_xp_gained(int value) {
if (EntityDataManager::get_instance()->get_xp_data()->can_level_up(gets_level())) {
return;
if (EntityDataManager::get_instance()->get_xp_data()->can_class_level_up(gets_class_level())) {
int xpr = EntityDataManager::get_instance()->get_xp_data()->get_class_xp(gets_class_level());
if (xpr <= gets_class_xp()) {
sclass_levelup(1);
sets_class_xp(0);
}
}
int xpr = EntityDataManager::get_instance()->get_xp_data()->get_xp(gets_level());
if (EntityDataManager::get_instance()->get_xp_data()->can_character_level_up(gets_character_level())) {
int xpr = EntityDataManager::get_instance()->get_xp_data()->get_character_xp(gets_character_level());
if (xpr <= gets_xp()) {
scharacter_levelup(1);
sets_xp(0);
if (xpr <= gets_character_xp()) {
scharacter_levelup(1);
sets_character_xp(0);
}
}
}
@ -5844,11 +5895,8 @@ void Entity::_son_character_level_up(int level) {
if (!ecd.is_valid())
return;
sets_free_spell_points(gets_free_spell_points() + ecd->get_spell_points_per_level() * level);
sets_free_talent_points(gets_free_talent_points() + level);
for (int i = 0; i < Stat::MAIN_STAT_ID_COUNT; ++i) {
int st = gets_entity_data()->get_entity_class_data()->get_stat_data()->get_level_stat_data()->get_stat_diff(i, gets_level() - level, gets_level());
int st = gets_entity_data()->get_entity_class_data()->get_stat_data()->get_level_stat_data()->get_stat_diff(i, gets_character_level() - level, gets_character_level());
int statid = i + Stat::MAIN_STAT_ID_START;
@ -5859,6 +5907,19 @@ void Entity::_son_character_level_up(int level) {
}
}
void Entity::_son_class_level_up(int level) {
if (!gets_entity_data().is_valid())
return;
Ref<EntityClassData> ecd = gets_entity_data()->get_entity_class_data();
if (!ecd.is_valid())
return;
sets_free_spell_points(gets_free_spell_points() + ecd->get_spell_points_per_level() * level);
sets_free_talent_points(gets_free_talent_points() + level);
}
void Entity::_moved() {
if (sis_casting())
sfail_cast();
@ -6466,21 +6527,33 @@ void Entity::_bind_methods() {
ClassDB::bind_method(D_METHOD("setc_gender", "value"), &Entity::setc_gender);
ADD_PROPERTY(PropertyInfo(Variant::INT, "cgender"), "setc_gender", "getc_gender");
ClassDB::bind_method(D_METHOD("gets_level"), &Entity::gets_level);
ClassDB::bind_method(D_METHOD("sets_level", "value"), &Entity::sets_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "slevel"), "sets_level", "gets_level");
ClassDB::bind_method(D_METHOD("gets_class_level"), &Entity::gets_class_level);
ClassDB::bind_method(D_METHOD("sets_class_level", "value"), &Entity::sets_class_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "sclass_level"), "sets_class_level", "gets_class_level");
ClassDB::bind_method(D_METHOD("getc_class_level"), &Entity::getc_class_level);
ClassDB::bind_method(D_METHOD("setc_class_level", "value"), &Entity::setc_class_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "cclass_level"), "setc_class_level", "getc_class_level");
ClassDB::bind_method(D_METHOD("getc_level"), &Entity::getc_level);
ClassDB::bind_method(D_METHOD("setc_level", "value"), &Entity::setc_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "clevel"), "setc_level", "getc_level");
ClassDB::bind_method(D_METHOD("gets_character_level"), &Entity::gets_character_level);
ClassDB::bind_method(D_METHOD("sets_character_level", "value"), &Entity::sets_character_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "scharacter_level"), "sets_character_level", "gets_character_level");
ClassDB::bind_method(D_METHOD("getc_character_level"), &Entity::getc_character_level);
ClassDB::bind_method(D_METHOD("setc_character_level", "value"), &Entity::setc_character_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "ccharacter_level"), "setc_character_level", "getc_character_level");
ClassDB::bind_method(D_METHOD("gets_xp"), &Entity::gets_xp);
ClassDB::bind_method(D_METHOD("sets_xp", "value"), &Entity::sets_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "sxp"), "sets_xp", "gets_xp");
ClassDB::bind_method(D_METHOD("gets_class_xp"), &Entity::gets_class_xp);
ClassDB::bind_method(D_METHOD("sets_class_xp", "value"), &Entity::sets_class_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "sclass_xp"), "sets_class_xp", "gets_class_xp");
ClassDB::bind_method(D_METHOD("getc_class_xp"), &Entity::getc_class_xp);
ClassDB::bind_method(D_METHOD("setc_class_xp", "value"), &Entity::setc_class_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "cclass_xp"), "setc_class_xp", "getc_class_xp");
ClassDB::bind_method(D_METHOD("getc_xp"), &Entity::getc_xp);
ClassDB::bind_method(D_METHOD("setc_xp", "value"), &Entity::setc_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "cxp"), "setc_xp", "getc_xp");
ClassDB::bind_method(D_METHOD("gets_character_xp"), &Entity::gets_character_xp);
ClassDB::bind_method(D_METHOD("sets_character_xp", "value"), &Entity::sets_character_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "scharacter_xp"), "sets_character_xp", "gets_character_xp");
ClassDB::bind_method(D_METHOD("getc_character_xp"), &Entity::getc_character_xp);
ClassDB::bind_method(D_METHOD("setc_character_xp", "value"), &Entity::setc_character_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "ccharacter_xp"), "setc_character_xp", "getc_character_xp");
ClassDB::bind_method(D_METHOD("gets_money"), &Entity::gets_money);
ClassDB::bind_method(D_METHOD("sets_money", "value"), &Entity::sets_money);
@ -6990,6 +7063,7 @@ void Entity::_bind_methods() {
ClassDB::bind_method(D_METHOD("_scraft", "id"), &Entity::_scraft);
ClassDB::bind_method(D_METHOD("_son_xp_gained", "value"), &Entity::_son_xp_gained);
ClassDB::bind_method(D_METHOD("_son_character_level_up", "level"), &Entity::_son_character_level_up);
ClassDB::bind_method(D_METHOD("_son_class_level_up", "level"), &Entity::_son_class_level_up);
ClassDB::bind_method(D_METHOD("_moved"), &Entity::_moved);
ClassDB::bind_method(D_METHOD("_con_target_changed", "entity", "old_target"), &Entity::_con_target_changed);
ClassDB::bind_method(D_METHOD("_son_death"), &Entity::_son_death);

View File

@ -258,21 +258,28 @@ public:
EntityEnums::EntityGender getc_gender();
void setc_gender(EntityEnums::EntityGender value);
int gets_level();
void sets_level(int value);
int gets_class_level();
void sets_class_level(int value);
int getc_class_level();
void setc_class_level(int value);
int getc_level();
void setc_level(int value);
int gets_character_level();
void sets_character_level(int value);
int getc_character_level();
void setc_character_level(int value);
int gets_xp();
void sets_xp(int value);
int gets_class_xp();
void sets_class_xp(int value);
int getc_class_xp();
void setc_class_xp(int value);
int getc_xp();
void setc_xp(int value);
int gets_character_xp();
void sets_character_xp(int value);
int getc_character_xp();
void setc_character_xp(int value);
int gets_money();
void sets_money(int value);
int getc_money();
void setc_money(int value);
@ -969,6 +976,7 @@ protected:
void _scraft(int id);
void _son_xp_gained(int value);
void _son_character_level_up(int level);
void _son_class_level_up(int level);
void _moved();
void _con_target_changed(Node *p_entity, Node *p_old_target);
void _son_death();
@ -1007,11 +1015,17 @@ private:
EntityEnums::EntityGender _s_gender;
EntityEnums::EntityGender _c_gender;
int _s_level;
int _c_level;
int _s_class_level;
int _c_class_level;
int _s_xp;
int _c_xp;
int _s_character_level;
int _c_character_level;
int _s_class_xp;
int _c_class_xp;
int _s_character_xp;
int _c_character_xp;
int _s_money;
int _c_money;

View File

@ -75,18 +75,32 @@ void EntityCreateInfo::set_entity_name(const String &value) {
_entity_name = value;
}
int EntityCreateInfo::get_level() const {
return _level;
int EntityCreateInfo::get_class_level() const {
return _class_level;
}
void EntityCreateInfo::set_level(const int value) {
_level = value;
void EntityCreateInfo::set_class_level(const int value) {
_class_level = value;
}
int EntityCreateInfo::get_xp() const {
return _xp;
int EntityCreateInfo::get_character_level() const {
return _character_level;
}
void EntityCreateInfo::set_xp(const int value) {
_xp = value;
void EntityCreateInfo::set_character_level(const int value) {
_character_level = value;
}
int EntityCreateInfo::get_class_xp() const {
return _class_xp;
}
void EntityCreateInfo::set_class_xp(const int value) {
_class_xp = value;
}
int EntityCreateInfo::get_character_xp() const {
return _character_xp;
}
void EntityCreateInfo::set_character_xp(const int value) {
_character_xp = value;
}
Transform EntityCreateInfo::get_transform() const {
@ -166,8 +180,11 @@ Dictionary EntityCreateInfo::_to_dict() {
dict["network_owner"] = _network_owner;
dict["entity_controller"] = _entity_controller;
dict["entity_name"] = _entity_name;
dict["level"] = _level;
dict["xp"] = _xp;
dict["class_level"] = _class_level;
dict["character_level"] = _character_level;
dict["class_xp"] = _class_xp;
dict["character_xp"] = _character_xp;
dict["transform"] = _transform;
dict["transform2d"] = _transform2d;
@ -189,8 +206,10 @@ void EntityCreateInfo::_from_dict(const Dictionary &dict) {
_network_owner = dict.get("network_owner", 0);
_entity_controller = static_cast<EntityEnums::EntityController>(static_cast<int>(dict.get("entity_controller", 0)));
_entity_name = dict.get("entity_name", "");
_level = dict.get("level", 0);
_xp = dict.get("xp", 0);
_class_level = dict.get("class_level", 0);
_character_level = dict.get("character_level", 0);
_class_xp = dict.get("class_xp", 0);
_character_xp = dict.get("character_xp", 0);
_transform = dict.get("transform", Transform());
_transform2d = dict.get("transform2d", Transform2D());
_species_instance = dict.get("species_instance", Ref<SpeciesInstance>());
@ -204,8 +223,10 @@ EntityCreateInfo::EntityCreateInfo() {
_entity_player_type = 0;
_network_owner = 0;
_entity_controller = EntityEnums::ENITIY_CONTROLLER_NONE;
_level = 0;
_xp = 0;
_class_level = 0;
_character_level = 0;
_class_xp = 0;
_character_xp = 0;
_created_entity = NULL;
}
@ -243,13 +264,21 @@ void EntityCreateInfo::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_entity_name", "value"), &EntityCreateInfo::set_entity_name);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "player_name"), "set_entity_name", "get_entity_name");
ClassDB::bind_method(D_METHOD("get_level"), &EntityCreateInfo::get_level);
ClassDB::bind_method(D_METHOD("set_level", "value"), &EntityCreateInfo::set_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "level"), "set_level", "get_level");
ClassDB::bind_method(D_METHOD("get_class_level"), &EntityCreateInfo::get_class_level);
ClassDB::bind_method(D_METHOD("set_class_level", "value"), &EntityCreateInfo::set_class_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "class_level"), "set_class_level", "get_class_level");
ClassDB::bind_method(D_METHOD("get_xp"), &EntityCreateInfo::get_xp);
ClassDB::bind_method(D_METHOD("set_xp", "value"), &EntityCreateInfo::set_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "xp"), "set_xp", "get_xp");
ClassDB::bind_method(D_METHOD("get_character_level"), &EntityCreateInfo::get_character_level);
ClassDB::bind_method(D_METHOD("set_character_level", "value"), &EntityCreateInfo::set_character_level);
ADD_PROPERTY(PropertyInfo(Variant::INT, "character_level"), "set_character_level", "get_character_level");
ClassDB::bind_method(D_METHOD("get_class_xp"), &EntityCreateInfo::get_class_xp);
ClassDB::bind_method(D_METHOD("set_class_xp", "value"), &EntityCreateInfo::set_class_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "class_xp"), "set_class_xp", "get_class_xp");
ClassDB::bind_method(D_METHOD("get_character_xp"), &EntityCreateInfo::get_character_xp);
ClassDB::bind_method(D_METHOD("set_character_xp", "value"), &EntityCreateInfo::set_character_xp);
ADD_PROPERTY(PropertyInfo(Variant::INT, "character_xp"), "set_character_xp", "get_character_xp");
ClassDB::bind_method(D_METHOD("get_transform"), &EntityCreateInfo::get_transform);
ClassDB::bind_method(D_METHOD("set_transform", "value"), &EntityCreateInfo::set_transform);

View File

@ -56,11 +56,17 @@ public:
String get_entity_name() const;
void set_entity_name(const String &value);
int get_level() const;
void set_level(const int value);
int get_class_level() const;
void set_class_level(const int value);
int get_xp() const;
void set_xp(const int value);
int get_character_level() const;
void set_character_level(const int value);
int get_class_xp() const;
void set_class_xp(const int value);
int get_character_xp() const;
void set_character_xp(const int value);
Transform get_transform() const;
void set_transform(const Transform &value);
@ -103,8 +109,10 @@ private:
int _network_owner;
EntityEnums::EntityController _entity_controller;
String _entity_name;
int _level;
int _xp;
int _class_level;
int _character_level;
int _class_xp;
int _character_xp;
Transform _transform;
Transform2D _transform2d;