Removed the EntityGender enum. Now everything uses plain int model indexes.

This commit is contained in:
Relintai 2020-05-20 20:38:10 +02:00
parent 577a3b108b
commit 18f3095832
14 changed files with 77 additions and 93 deletions

View File

@ -73,7 +73,7 @@ ModelVisualEntry::ModelVisualEntry() {
} }
ModelVisualEntry::~ModelVisualEntry() { ModelVisualEntry::~ModelVisualEntry() {
for (int i = 0; i < EntityEnums::GENDER_COUNT; ++i) { for (int i = 0; i < 1; ++i) {
#ifdef MESH_DATA_RESOURCE_PRESENT #ifdef MESH_DATA_RESOURCE_PRESENT
_mesh[i].unref(); _mesh[i].unref();
#endif #endif
@ -92,14 +92,12 @@ void ModelVisualEntry::_bind_methods() {
#ifdef MESH_DATA_RESOURCE_PRESENT #ifdef MESH_DATA_RESOURCE_PRESENT
ClassDB::bind_method(D_METHOD("get_mesh", "index"), &ModelVisualEntry::get_mesh); ClassDB::bind_method(D_METHOD("get_mesh", "index"), &ModelVisualEntry::get_mesh);
ClassDB::bind_method(D_METHOD("set_mesh", "index", "value"), &ModelVisualEntry::set_mesh); ClassDB::bind_method(D_METHOD("set_mesh", "index", "value"), &ModelVisualEntry::set_mesh);
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "mesh_male", PROPERTY_HINT_RESOURCE_TYPE, "MeshDataResource"), "set_mesh", "get_mesh", EntityEnums::GENDER_MALE); ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "mesh", PROPERTY_HINT_RESOURCE_TYPE, "MeshDataResource"), "set_mesh", "get_mesh", 0);
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "mesh_female", PROPERTY_HINT_RESOURCE_TYPE, "MeshDataResource"), "set_mesh", "get_mesh", EntityEnums::GENDER_FEMALE);
#endif #endif
ClassDB::bind_method(D_METHOD("get_texture", "index"), &ModelVisualEntry::get_texture); ClassDB::bind_method(D_METHOD("get_texture", "index"), &ModelVisualEntry::get_texture);
ClassDB::bind_method(D_METHOD("set_texture", "index", "value"), &ModelVisualEntry::set_texture); ClassDB::bind_method(D_METHOD("set_texture", "index", "value"), &ModelVisualEntry::set_texture);
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "texture_male", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture", EntityEnums::GENDER_MALE); ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture", 0);
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "texture_female", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture", EntityEnums::GENDER_FEMALE);
ClassDB::bind_method(D_METHOD("get_color"), &ModelVisualEntry::get_color); ClassDB::bind_method(D_METHOD("get_color"), &ModelVisualEntry::get_color);
ClassDB::bind_method(D_METHOD("set_color", "value"), &ModelVisualEntry::set_color); ClassDB::bind_method(D_METHOD("set_color", "value"), &ModelVisualEntry::set_color);
@ -107,10 +105,9 @@ void ModelVisualEntry::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_effect"), &ModelVisualEntry::get_effect); ClassDB::bind_method(D_METHOD("get_effect"), &ModelVisualEntry::get_effect);
ClassDB::bind_method(D_METHOD("set_effect", "value"), &ModelVisualEntry::set_effect); ClassDB::bind_method(D_METHOD("set_effect", "value"), &ModelVisualEntry::set_effect);
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "effect_male", PROPERTY_HINT_RESOURCE_TYPE, "PackedScene"), "set_effect", "get_effect"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "effect", PROPERTY_HINT_RESOURCE_TYPE, "PackedScene"), "set_effect", "get_effect");
ClassDB::bind_method(D_METHOD("get_effect_offset", "index"), &ModelVisualEntry::get_effect_offset); ClassDB::bind_method(D_METHOD("get_effect_offset", "index"), &ModelVisualEntry::get_effect_offset);
ClassDB::bind_method(D_METHOD("set_effect_offset", "index", "value"), &ModelVisualEntry::set_effect_offset); ClassDB::bind_method(D_METHOD("set_effect_offset", "index", "value"), &ModelVisualEntry::set_effect_offset);
ADD_PROPERTYI(PropertyInfo(Variant::VECTOR3, "effect_offset_male"), "set_effect_offset", "get_effect_offset", EntityEnums::GENDER_MALE); ADD_PROPERTYI(PropertyInfo(Variant::VECTOR3, "effect_offset"), "set_effect_offset", "get_effect_offset", 0);
ADD_PROPERTYI(PropertyInfo(Variant::VECTOR3, "effect_offset_female"), "set_effect_offset", "get_effect_offset", EntityEnums::GENDER_FEMALE);
} }

View File

@ -72,14 +72,14 @@ private:
ItemEnums::EntityTextureLayers _override_layer; ItemEnums::EntityTextureLayers _override_layer;
#ifdef MESH_DATA_RESOURCE_PRESENT #ifdef MESH_DATA_RESOURCE_PRESENT
Ref<MeshDataResource> _mesh[EntityEnums::GENDER_COUNT]; Ref<MeshDataResource> _mesh[1];
#endif #endif
Ref<Texture> _texture[EntityEnums::GENDER_COUNT]; Ref<Texture> _texture[1];
Color _color; Color _color;
Ref<PackedScene> _effect; Ref<PackedScene> _effect;
Vector3 _effect_offset[EntityEnums::GENDER_COUNT]; Vector3 _effect_offset[1];
}; };
#endif #endif

View File

@ -53,7 +53,7 @@
</method> </method>
</methods> </methods>
<members> <members>
<member name="gender" type="int" setter="set_gender" getter="get_gender" enum="EntityEnums.EntityGender" default="0"> <member name="model_index" type="int" setter="set_model_index" getter="get_model_index" enum="EntityEnums.EntityGender" default="0">
</member> </member>
</members> </members>
<constants> <constants>

View File

@ -186,7 +186,7 @@
</member> </member>
<member name="bone_path_root" type="NodePath" setter="set_bone_path" getter="get_bone_path" default="NodePath(&quot;&quot;)"> <member name="bone_path_root" type="NodePath" setter="set_bone_path" getter="get_bone_path" default="NodePath(&quot;&quot;)">
</member> </member>
<member name="gender" type="int" setter="set_gender" getter="get_gender" enum="EntityEnums.EntityGender" default="0"> <member name="model_index" type="int" setter="set_model_index" getter="get_model_index" enum="EntityEnums.EntityGender" default="0">
</member> </member>
<member name="model_dirty" type="bool" setter="set_model_dirty" getter="get_model_dirty" default="false"> <member name="model_dirty" type="bool" setter="set_model_dirty" getter="get_model_dirty" default="false">
</member> </member>

View File

@ -3712,7 +3712,7 @@
</member> </member>
<member name="cfree_talent_points" type="int" setter="setc_free_talent_points" getter="getc_free_talent_points" default="0"> <member name="cfree_talent_points" type="int" setter="setc_free_talent_points" getter="getc_free_talent_points" default="0">
</member> </member>
<member name="cgender" type="int" setter="setc_gender" getter="getc_gender" enum="EntityEnums.EntityGender" default="0"> <member name="cmodel_index" type="int" setter="setc_model_index" getter="getc_model_index" enum="EntityEnums.EntityGender" default="0">
</member> </member>
<member name="cguid" type="int" setter="setc_guid" getter="getc_guid" default="0"> <member name="cguid" type="int" setter="setc_guid" getter="getc_guid" default="0">
</member> </member>
@ -3766,7 +3766,7 @@
</member> </member>
<member name="sfree_talent_points" type="int" setter="sets_free_talent_points" getter="gets_free_talent_points" default="0"> <member name="sfree_talent_points" type="int" setter="sets_free_talent_points" getter="gets_free_talent_points" default="0">
</member> </member>
<member name="sgender" type="int" setter="sets_gender" getter="gets_gender" enum="EntityEnums.EntityGender" default="0"> <member name="smodel_index" type="int" setter="sets_model_index" getter="gets_model_index" enum="EntityEnums.EntityGender" default="0">
</member> </member>
<member name="sguid" type="int" setter="sets_guid" getter="gets_guid" default="0"> <member name="sguid" type="int" setter="sets_guid" getter="gets_guid" default="0">
</member> </member>

View File

@ -74,13 +74,13 @@
</member> </member>
<member name="mesh_female" type="MeshDataResource" setter="set_mesh" getter="get_mesh"> <member name="mesh_female" type="MeshDataResource" setter="set_mesh" getter="get_mesh">
</member> </member>
<member name="mesh_male" type="MeshDataResource" setter="set_mesh" getter="get_mesh"> <member name="mesh" type="MeshDataResource" setter="set_mesh" getter="get_mesh">
</member> </member>
<member name="override_layer" type="int" setter="set_override_layer" getter="get_override_layer" enum="ItemEnums.EntityTextureLayers" default="0"> <member name="override_layer" type="int" setter="set_override_layer" getter="get_override_layer" enum="ItemEnums.EntityTextureLayers" default="0">
</member> </member>
<member name="texture_female" type="Texture" setter="set_texture" getter="get_texture"> <member name="texture_female" type="Texture" setter="set_texture" getter="get_texture">
</member> </member>
<member name="texture_male" type="Texture" setter="set_texture" getter="get_texture"> <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
</member> </member>
</members> </members>
<constants> <constants>

View File

@ -316,20 +316,20 @@ void Entity::setc_entity_name(String value) {
emit_signal("cname_changed", this); emit_signal("cname_changed", this);
} }
EntityEnums::EntityGender Entity::gets_gender() { int Entity::gets_model_index() {
return _s_gender; return _s_model_index;
} }
void Entity::sets_gender(EntityEnums::EntityGender value) { void Entity::sets_model_index(int value) {
_s_gender = value; _s_model_index = value;
VRPC(setc_gender, value); VRPC(setc_model_index, value);
} }
EntityEnums::EntityGender Entity::getc_gender() { int Entity::getc_model_index() {
return _c_gender; return _c_model_index;
} }
void Entity::setc_gender(EntityEnums::EntityGender value) { void Entity::setc_model_index(int value) {
_c_gender = value; _c_model_index = value;
#if VERSION_MAJOR < 4 #if VERSION_MAJOR < 4
if (ObjectDB::instance_validate(_character_skeleton)) { if (ObjectDB::instance_validate(_character_skeleton)) {
@ -337,8 +337,8 @@ void Entity::setc_gender(EntityEnums::EntityGender value) {
if (_character_skeleton != NULL) { if (_character_skeleton != NULL) {
#endif #endif
if (_character_skeleton->has_method("set_gender")) if (_character_skeleton->has_method("set_model_index"))
_character_skeleton->call("set_gender", _c_gender); _character_skeleton->call("set_model_index", _c_model_index);
} }
} }
@ -474,10 +474,10 @@ void Entity::sets_entity_data(Ref<EntityData> value) {
//setup(); //setup();
if (get_body() == NULL && value.is_valid() && value->get_entity_species_data().is_valid() && if (get_body() == NULL && value.is_valid() && value->get_entity_species_data().is_valid() &&
value->get_entity_species_data()->get_model_data_count() > _s_gender && value->get_entity_species_data()->get_model_data_count() > _s_model_index &&
value->get_entity_species_data()->get_model_data(_s_gender).is_valid() && value->get_entity_species_data()->get_model_data(_s_model_index).is_valid() &&
value->get_entity_species_data()->get_model_data(_s_gender)->get_body().is_valid()) { value->get_entity_species_data()->get_model_data(_s_model_index)->get_body().is_valid()) {
Node *node = value->get_entity_species_data()->get_model_data(_s_gender)->get_body()->instance(); Node *node = value->get_entity_species_data()->get_model_data(_s_model_index)->get_body()->instance();
add_child(node); add_child(node);
set_body(node); set_body(node);
@ -496,10 +496,10 @@ void Entity::setc_entity_data(Ref<EntityData> value) {
_c_entity_data = value; _c_entity_data = value;
if (get_body() == NULL && value.is_valid() && value->get_entity_species_data().is_valid() && if (get_body() == NULL && value.is_valid() && value->get_entity_species_data().is_valid() &&
value->get_entity_species_data()->get_model_data_count() > _c_gender && value->get_entity_species_data()->get_model_data_count() > _c_model_index &&
value->get_entity_species_data()->get_model_data(_c_gender).is_valid() && value->get_entity_species_data()->get_model_data(_c_model_index).is_valid() &&
value->get_entity_species_data()->get_model_data(_c_gender)->get_body().is_valid()) { value->get_entity_species_data()->get_model_data(_c_model_index)->get_body().is_valid()) {
Node *node = value->get_entity_species_data()->get_model_data(_c_gender)->get_body()->instance(); Node *node = value->get_entity_species_data()->get_model_data(_c_model_index)->get_body()->instance();
add_child(node); add_child(node);
set_body(node); set_body(node);
@ -1087,7 +1087,7 @@ Dictionary Entity::_to_dict() {
dict["guid"] = _s_guid; dict["guid"] = _s_guid;
//dict["entity_data_id"] = _s_class_id; //dict["entity_data_id"] = _s_class_id;
dict["type"] = _s_type; dict["type"] = _s_type;
dict["gender"] = _s_gender; dict["model_index"] = _s_model_index;
dict["class_level"] = gets_class_level(); dict["class_level"] = gets_class_level();
dict["class_xp"] = gets_class_xp(); dict["class_xp"] = gets_class_xp();
@ -1271,7 +1271,7 @@ void Entity::_from_dict(const Dictionary &dict) {
sets_entity_type((int)((int)dict.get("type", 0))); sets_entity_type((int)((int)dict.get("type", 0)));
sets_gender(static_cast<EntityEnums::EntityGender>(static_cast<int>(dict.get("gender", 0)))); sets_model_index(static_cast<int>(static_cast<int>(dict.get("model_index", 0))));
if (ESS::get_instance()->get_use_global_class_level()) { if (ESS::get_instance()->get_use_global_class_level()) {
_s_class_level = (dict.get("class_level", 0)); _s_class_level = (dict.get("class_level", 0));
@ -5763,8 +5763,8 @@ Entity::Entity() {
_s_entity_player_type = 0; _s_entity_player_type = 0;
_c_entity_player_type = 0; _c_entity_player_type = 0;
_s_gender = EntityEnums::GENDER_MALE; _s_model_index = 0;
_c_gender = EntityEnums::GENDER_MALE; _c_model_index = 0;
_s_class_level = 1; _s_class_level = 1;
_c_class_level = 1; _c_class_level = 1;
@ -5855,7 +5855,7 @@ Entity::Entity() {
SET_RPC_REMOTE("setc_entity_data_id"); SET_RPC_REMOTE("setc_entity_data_id");
SET_RPC_REMOTE("setc_entity_type"); SET_RPC_REMOTE("setc_entity_type");
SET_RPC_REMOTE("setc_entity_name"); SET_RPC_REMOTE("setc_entity_name");
SET_RPC_REMOTE("setc_gender"); SET_RPC_REMOTE("setc_model_index");
SET_RPC_REMOTE("setc_class_level"); SET_RPC_REMOTE("setc_class_level");
SET_RPC_REMOTE("setc_character_level"); SET_RPC_REMOTE("setc_character_level");
SET_RPC_REMOTE("setc_class_xp"); SET_RPC_REMOTE("setc_class_xp");
@ -6318,8 +6318,8 @@ void Entity::_notification(int p_what) {
_character_skeleton = get_node_or_null(_character_skeleton_path); _character_skeleton = get_node_or_null(_character_skeleton_path);
if (_character_skeleton != NULL) { if (_character_skeleton != NULL) {
if (_character_skeleton->has_method("set_gender")) if (_character_skeleton->has_method("set_model_index"))
_character_skeleton->call("set_gender", _c_gender); _character_skeleton->call("set_model_index", _c_model_index);
} }
} break; } break;
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
@ -6342,8 +6342,8 @@ void Entity::_notification(int p_what) {
_character_skeleton = get_node_or_null(_character_skeleton_path); _character_skeleton = get_node_or_null(_character_skeleton_path);
if (_character_skeleton != NULL) { if (_character_skeleton != NULL) {
if (_character_skeleton->has_method("set_gender")) if (_character_skeleton->has_method("set_model_index"))
_character_skeleton->call("set_gender", _c_gender); _character_skeleton->call("set_model_index", _c_model_index);
} }
} }
} break; } break;
@ -6405,7 +6405,7 @@ bool Entity::_set(const StringName &p_name, const Variant &p_value) {
/* /*
sets_entity_type((int)((int)dict.get("type", 0))); sets_entity_type((int)((int)dict.get("type", 0)));
sets_gender(static_cast<EntityEnums::EntityGender>(static_cast<int>(dict.get("gender", 0)))); sets_model_index(static_cast<int>(static_cast<int>(dict.get("model_index", 0))));
if (ESS::get_instance()->get_use_global_class_level()) { if (ESS::get_instance()->get_use_global_class_level()) {
_s_class_level = (dict.get("class_level", 0)); _s_class_level = (dict.get("class_level", 0));
@ -7313,13 +7313,13 @@ void Entity::_bind_methods() {
ClassDB::bind_method(D_METHOD("setc_entity_name", "value"), &Entity::setc_entity_name); ClassDB::bind_method(D_METHOD("setc_entity_name", "value"), &Entity::setc_entity_name);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "centity_name", PROPERTY_HINT_NONE, "", 0), "setc_entity_name", "getc_entity_name"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "centity_name", PROPERTY_HINT_NONE, "", 0), "setc_entity_name", "getc_entity_name");
ClassDB::bind_method(D_METHOD("gets_gender"), &Entity::gets_gender); ClassDB::bind_method(D_METHOD("gets_model_index"), &Entity::gets_model_index);
ClassDB::bind_method(D_METHOD("sets_gender", "value"), &Entity::sets_gender); ClassDB::bind_method(D_METHOD("sets_model_index", "value"), &Entity::sets_model_index);
ADD_PROPERTY(PropertyInfo(Variant::INT, "sgender"), "sets_gender", "gets_gender"); ADD_PROPERTY(PropertyInfo(Variant::INT, "smodel_index"), "sets_model_index", "gets_model_index");
ClassDB::bind_method(D_METHOD("getc_gender"), &Entity::getc_gender); ClassDB::bind_method(D_METHOD("getc_model_index"), &Entity::getc_model_index);
ClassDB::bind_method(D_METHOD("setc_gender", "value"), &Entity::setc_gender); ClassDB::bind_method(D_METHOD("setc_model_index", "value"), &Entity::setc_model_index);
ADD_PROPERTY(PropertyInfo(Variant::INT, "cgender", PROPERTY_HINT_NONE, "", 0), "setc_gender", "getc_gender"); ADD_PROPERTY(PropertyInfo(Variant::INT, "cmodel_index", PROPERTY_HINT_NONE, "", 0), "setc_model_index", "getc_model_index");
ClassDB::bind_method(D_METHOD("gets_class_level"), &Entity::gets_class_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); ClassDB::bind_method(D_METHOD("sets_class_level", "value"), &Entity::sets_class_level);

View File

@ -307,11 +307,11 @@ public:
String getc_entity_name(); String getc_entity_name();
void setc_entity_name(String value); void setc_entity_name(String value);
EntityEnums::EntityGender gets_gender(); int gets_model_index();
void sets_gender(EntityEnums::EntityGender value); void sets_model_index(int value);
EntityEnums::EntityGender getc_gender(); int getc_model_index();
void setc_gender(EntityEnums::EntityGender value); void setc_model_index(int value);
int gets_class_level(); int gets_class_level();
void sets_class_level(int value); void sets_class_level(int value);
@ -1088,8 +1088,8 @@ private:
int _s_type; int _s_type;
int _c_type; int _c_type;
EntityEnums::EntityGender _s_gender; int _s_model_index;
EntityEnums::EntityGender _c_gender; int _c_model_index;
int _s_class_level; int _s_class_level;
int _c_class_level; int _c_class_level;

View File

@ -32,7 +32,6 @@ const String EntityEnums::BINDING_STRING_ENTITY_IMMUNITY_FLAGS = "Stun,Root,Free
const String EntityEnums::BINDING_STRING_ENTITY_RELATION_TYPE = "Neutral,Friendly,Hostile"; const String EntityEnums::BINDING_STRING_ENTITY_RELATION_TYPE = "Neutral,Friendly,Hostile";
const String EntityEnums::BINDING_STRING_ENTITY_INTERACTION_TYPE = "Normal,Speak,Loot,Use,None"; const String EntityEnums::BINDING_STRING_ENTITY_INTERACTION_TYPE = "Normal,Speak,Loot,Use,None";
const String EntityEnums::BINDING_STRING_ENTITY_PLAYSTYLE_TYPE = "Melee,Spell,Hybrid,None"; const String EntityEnums::BINDING_STRING_ENTITY_PLAYSTYLE_TYPE = "Melee,Spell,Hybrid,None";
const String EntityEnums::BINDING_STRING_ENTITY_GENDER = "Male,Female";
const String EntityEnums::BINDING_STRING_ENTITY_WINDOWS = "Loot,Container,Vendor,Trainer"; const String EntityEnums::BINDING_STRING_ENTITY_WINDOWS = "Loot,Container,Vendor,Trainer";
const String EntityEnums::BINDING_STRING_ENTITY_ENTITY_RESOURCE_INDICES = "Health,Speed,Resources Begin"; const String EntityEnums::BINDING_STRING_ENTITY_ENTITY_RESOURCE_INDICES = "Health,Speed,Resources Begin";
@ -176,9 +175,6 @@ void EntityEnums::_bind_methods() {
BIND_ENUM_CONSTANT(ENTITY_CLASS_PLAYSTYLE_TYPE_HYBRID); BIND_ENUM_CONSTANT(ENTITY_CLASS_PLAYSTYLE_TYPE_HYBRID);
BIND_ENUM_CONSTANT(ENTITY_CLASS_PLAYSTYLE_TYPE_NONE); BIND_ENUM_CONSTANT(ENTITY_CLASS_PLAYSTYLE_TYPE_NONE);
BIND_ENUM_CONSTANT(GENDER_MALE);
BIND_ENUM_CONSTANT(GENDER_FEMALE);
BIND_ENUM_CONSTANT(ENTITY_WINDOW_LOOT); BIND_ENUM_CONSTANT(ENTITY_WINDOW_LOOT);
BIND_ENUM_CONSTANT(ENTITY_WINDOW_CONTAINER); BIND_ENUM_CONSTANT(ENTITY_WINDOW_CONTAINER);
BIND_ENUM_CONSTANT(ENTITY_WINDOW_VENDOR); BIND_ENUM_CONSTANT(ENTITY_WINDOW_VENDOR);
@ -188,6 +184,5 @@ void EntityEnums::_bind_methods() {
BIND_ENUM_CONSTANT(ENTITY_RESOURCE_INDEX_SPEED); BIND_ENUM_CONSTANT(ENTITY_RESOURCE_INDEX_SPEED);
BIND_ENUM_CONSTANT(ENTITY_RESOURCE_INDEX_RESOURCES_BEGIN); BIND_ENUM_CONSTANT(ENTITY_RESOURCE_INDEX_RESOURCES_BEGIN);
BIND_CONSTANT(GENDER_COUNT);
BIND_CONSTANT(BASE_XP); BIND_CONSTANT(BASE_XP);
} }

View File

@ -41,7 +41,6 @@ public:
static const String BINDING_STRING_ENTITY_RELATION_TYPE; static const String BINDING_STRING_ENTITY_RELATION_TYPE;
static const String BINDING_STRING_ENTITY_INTERACTION_TYPE; static const String BINDING_STRING_ENTITY_INTERACTION_TYPE;
static const String BINDING_STRING_ENTITY_PLAYSTYLE_TYPE; static const String BINDING_STRING_ENTITY_PLAYSTYLE_TYPE;
static const String BINDING_STRING_ENTITY_GENDER;
static const String BINDING_STRING_ENTITY_WINDOWS; static const String BINDING_STRING_ENTITY_WINDOWS;
static const String BINDING_STRING_ENTITY_ENTITY_RESOURCE_INDICES; static const String BINDING_STRING_ENTITY_ENTITY_RESOURCE_INDICES;
@ -239,11 +238,6 @@ public:
ENTITY_CLASS_PLAYSTYLE_TYPE_NONE, ENTITY_CLASS_PLAYSTYLE_TYPE_NONE,
}; };
enum EntityGender {
GENDER_MALE = 0,
GENDER_FEMALE = 1,
};
enum EntityWindows { enum EntityWindows {
ENTITY_WINDOW_LOOT = 0, ENTITY_WINDOW_LOOT = 0,
ENTITY_WINDOW_CONTAINER = 1, ENTITY_WINDOW_CONTAINER = 1,
@ -258,7 +252,6 @@ public:
}; };
enum { enum {
GENDER_COUNT = 2,
BASE_XP = 50, BASE_XP = 50,
}; };
@ -279,7 +272,6 @@ VARIANT_ENUM_CAST(EntityEnums::EntityImmunityFlags);
VARIANT_ENUM_CAST(EntityEnums::EntityRelationType); VARIANT_ENUM_CAST(EntityEnums::EntityRelationType);
VARIANT_ENUM_CAST(EntityEnums::EntityInteractionType); VARIANT_ENUM_CAST(EntityEnums::EntityInteractionType);
VARIANT_ENUM_CAST(EntityEnums::EntityClassPlaystyleType); VARIANT_ENUM_CAST(EntityEnums::EntityClassPlaystyleType);
VARIANT_ENUM_CAST(EntityEnums::EntityGender);
VARIANT_ENUM_CAST(EntityEnums::EntityWindows); VARIANT_ENUM_CAST(EntityEnums::EntityWindows);
VARIANT_ENUM_CAST(EntityEnums::EntityResourceIndices); VARIANT_ENUM_CAST(EntityEnums::EntityResourceIndices);

View File

@ -37,24 +37,24 @@ int CharacterSkeleton2D::get_model_visual_count() {
void CharacterSkeleton2D::clear_model_visuals() { void CharacterSkeleton2D::clear_model_visuals() {
} }
EntityEnums::EntityGender CharacterSkeleton2D::get_gender() { int CharacterSkeleton2D::get_model_index() {
return _gender; return _model_index;
} }
void CharacterSkeleton2D::set_gender(EntityEnums::EntityGender value) { void CharacterSkeleton2D::set_model_index(int value) {
_gender = value; _model_index = value;
} }
CharacterSkeleton2D::CharacterSkeleton2D() { CharacterSkeleton2D::CharacterSkeleton2D() {
_gender = EntityEnums::GENDER_MALE; _model_index = 0;
} }
CharacterSkeleton2D::~CharacterSkeleton2D() { CharacterSkeleton2D::~CharacterSkeleton2D() {
} }
void CharacterSkeleton2D::_bind_methods() { void CharacterSkeleton2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_gender"), &CharacterSkeleton2D::get_gender); ClassDB::bind_method(D_METHOD("get_model_index"), &CharacterSkeleton2D::get_model_index);
ClassDB::bind_method(D_METHOD("set_gender", "value"), &CharacterSkeleton2D::set_gender); ClassDB::bind_method(D_METHOD("set_model_index", "value"), &CharacterSkeleton2D::set_model_index);
ADD_PROPERTY(PropertyInfo(Variant::INT, "gender", PROPERTY_HINT_ENUM, EntityEnums::BINDING_STRING_ENTITY_GENDER), "set_gender", "get_gender"); ADD_PROPERTY(PropertyInfo(Variant::INT, "model_index"), "set_model_index", "get_model_index");
ClassDB::bind_method(D_METHOD("add_model_visual", "vis"), &CharacterSkeleton2D::add_model_visual); ClassDB::bind_method(D_METHOD("add_model_visual", "vis"), &CharacterSkeleton2D::add_model_visual);
ClassDB::bind_method(D_METHOD("remove_model_visual", "vis"), &CharacterSkeleton2D::remove_model_visual); ClassDB::bind_method(D_METHOD("remove_model_visual", "vis"), &CharacterSkeleton2D::remove_model_visual);

View File

@ -44,8 +44,8 @@ public:
virtual int get_model_visual_count(); virtual int get_model_visual_count();
virtual void clear_model_visuals(); virtual void clear_model_visuals();
EntityEnums::EntityGender get_gender(); int get_model_index();
void set_gender(EntityEnums::EntityGender value); void set_model_index(int value);
CharacterSkeleton2D(); CharacterSkeleton2D();
~CharacterSkeleton2D(); ~CharacterSkeleton2D();
@ -54,7 +54,7 @@ protected:
static void _bind_methods(); static void _bind_methods();
private: private:
EntityEnums::EntityGender _gender; int _model_index;
}; };
#endif #endif

View File

@ -39,11 +39,11 @@ typedef class RenderingServer VS;
#define PoolRealArray PackedFloat32Array #define PoolRealArray PackedFloat32Array
#endif #endif
EntityEnums::EntityGender CharacterSkeleton3D::get_gender() { int CharacterSkeleton3D::get_model_index() {
return _gender; return _model_index;
} }
void CharacterSkeleton3D::set_gender(EntityEnums::EntityGender value) { void CharacterSkeleton3D::set_model_index(int value) {
_gender = value; _model_index = value;
} }
bool CharacterSkeleton3D::get_model_dirty() const { bool CharacterSkeleton3D::get_model_dirty() const {
@ -364,7 +364,7 @@ Array CharacterSkeleton3D::bake_mesh_array_uv(Array arr, Ref<Texture> tex, float
CharacterSkeleton3D::CharacterSkeleton3D() { CharacterSkeleton3D::CharacterSkeleton3D() {
_model_dirty = false; _model_dirty = false;
_gender = EntityEnums::GENDER_MALE; _model_index = 0;
for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) { for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) {
_bone_nodes[i] = NULL; _bone_nodes[i] = NULL;
@ -397,9 +397,9 @@ void CharacterSkeleton3D::_notification(int p_what) {
} }
void CharacterSkeleton3D::_bind_methods() { void CharacterSkeleton3D::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_gender"), &CharacterSkeleton3D::get_gender); ClassDB::bind_method(D_METHOD("get_model_index"), &CharacterSkeleton3D::get_model_index);
ClassDB::bind_method(D_METHOD("set_gender", "value"), &CharacterSkeleton3D::set_gender); ClassDB::bind_method(D_METHOD("set_model_index", "value"), &CharacterSkeleton3D::set_model_index);
ADD_PROPERTY(PropertyInfo(Variant::INT, "gender", PROPERTY_HINT_ENUM, EntityEnums::BINDING_STRING_ENTITY_GENDER), "set_gender", "get_gender"); ADD_PROPERTY(PropertyInfo(Variant::INT, "model_index"), "set_model_index", "get_model_index");
ClassDB::bind_method(D_METHOD("add_model_visual", "vis"), &CharacterSkeleton3D::add_model_visual); ClassDB::bind_method(D_METHOD("add_model_visual", "vis"), &CharacterSkeleton3D::add_model_visual);
ClassDB::bind_method(D_METHOD("remove_model_visual", "vis"), &CharacterSkeleton3D::remove_model_visual); ClassDB::bind_method(D_METHOD("remove_model_visual", "vis"), &CharacterSkeleton3D::remove_model_visual);

View File

@ -54,8 +54,8 @@ class CharacterSkeleton3D : public Spatial {
GDCLASS(CharacterSkeleton3D, Spatial); GDCLASS(CharacterSkeleton3D, Spatial);
public: public:
EntityEnums::EntityGender get_gender(); int get_model_index();
void set_gender(EntityEnums::EntityGender value); void set_model_index(int value);
bool get_model_dirty() const; bool get_model_dirty() const;
void set_model_dirty(bool value); void set_model_dirty(bool value);
@ -117,7 +117,7 @@ protected:
}; };
private: private:
EntityEnums::EntityGender _gender; int _model_index;
NodePath _animation_player_path; NodePath _animation_player_path;
NodePath _animation_tree_path; NodePath _animation_tree_path;