diff --git a/data/entities/xp_data.cpp b/data/entities/xp_data.cpp index f6ccb45..08e46c8 100644 --- a/data/entities/xp_data.cpp +++ b/data/entities/xp_data.cpp @@ -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); diff --git a/data/entities/xp_data.h b/data/entities/xp_data.h index 32a6b18..6fa95f6 100644 --- a/data/entities/xp_data.h +++ b/data/entities/xp_data.h @@ -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 _xps; + Vector _character_xps; Vector _class_xps; }; diff --git a/entities/entity.cpp b/entities/entity.cpp index c92ad3c..2d449c4 100644 --- a/entities/entity.cpp +++ b/entities/entity.cpp @@ -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 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(static_cast(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 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); diff --git a/entities/entity.h b/entities/entity.h index 60bfc33..da0690b 100644 --- a/entities/entity.h +++ b/entities/entity.h @@ -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; diff --git a/utility/entity_create_info.cpp b/utility/entity_create_info.cpp index 323f70f..9fed760 100644 --- a/utility/entity_create_info.cpp +++ b/utility/entity_create_info.cpp @@ -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(static_cast(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()); @@ -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); diff --git a/utility/entity_create_info.h b/utility/entity_create_info.h index f00cbf0..7e0a674 100644 --- a/utility/entity_create_info.h +++ b/utility/entity_create_info.h @@ -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;