mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-05-11 22:42:10 +02:00
Reworked ModelVisual (now it only contains an array), and added a the new customizable enum values to ModelVisualEntry.
This commit is contained in:
parent
18f3095832
commit
65450f5794
@ -29,15 +29,49 @@ void ModelVisual::set_layer(ItemEnums::EntityTextureLayers layer) {
|
|||||||
_layer = layer;
|
_layer = layer;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ref<ModelVisualEntry> ModelVisual::get_visual(int index) {
|
//ModelVisualEntries
|
||||||
ERR_FAIL_INDEX_V(index, EntityEnums::SKELETON_POINTS_MAX, Ref<ModelVisualEntry>());
|
|
||||||
|
|
||||||
return _entries[index];
|
Ref<ModelVisualEntry> ModelVisual::get_visual_entry(const int index) const {
|
||||||
|
ERR_FAIL_INDEX_V(index, _visual_entries.size(), Ref<ModelVisualEntry>());
|
||||||
|
|
||||||
|
return _visual_entries.get(index);
|
||||||
}
|
}
|
||||||
void ModelVisual::set_visual(int index, Ref<ModelVisualEntry> entry) {
|
void ModelVisual::set_visual_entry(const int index, const Ref<ModelVisualEntry> visual_entry) {
|
||||||
ERR_FAIL_INDEX(index, EntityEnums::SKELETON_POINTS_MAX);
|
ERR_FAIL_INDEX(index, _visual_entries.size());
|
||||||
|
|
||||||
_entries[index] = entry;
|
_visual_entries.set(index, visual_entry);
|
||||||
|
}
|
||||||
|
void ModelVisual::add_visual_entry(const Ref<ModelVisualEntry> visual_entry) {
|
||||||
|
_visual_entries.push_back(visual_entry);
|
||||||
|
}
|
||||||
|
void ModelVisual::remove_visual_entry(const int index) {
|
||||||
|
ERR_FAIL_INDEX(index, _visual_entries.size());
|
||||||
|
|
||||||
|
_visual_entries.remove(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ModelVisual::get_visual_entry_count() const {
|
||||||
|
return _visual_entries.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector<Variant> ModelVisual::get_visual_entries() {
|
||||||
|
Vector<Variant> r;
|
||||||
|
for (int i = 0; i < _visual_entries.size(); i++) {
|
||||||
|
#if VERSION_MAJOR < 4
|
||||||
|
r.push_back(_visual_entries[i].get_ref_ptr());
|
||||||
|
#else
|
||||||
|
r.push_back(_visual_entries[i]);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
void ModelVisual::set_visual_entries(const Vector<Variant> &visual_entries) {
|
||||||
|
_visual_entries.clear();
|
||||||
|
for (int i = 0; i < visual_entries.size(); i++) {
|
||||||
|
Ref<ModelVisualEntry> visual_entry = Ref<ModelVisualEntry>(visual_entries[i]);
|
||||||
|
|
||||||
|
_visual_entries.push_back(visual_entry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelVisual::ModelVisual() {
|
ModelVisual::ModelVisual() {
|
||||||
@ -45,9 +79,7 @@ ModelVisual::ModelVisual() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ModelVisual::~ModelVisual() {
|
ModelVisual::~ModelVisual() {
|
||||||
for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) {
|
_visual_entries.clear();
|
||||||
_entries[i].unref();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModelVisual::_bind_methods() {
|
void ModelVisual::_bind_methods() {
|
||||||
@ -55,41 +87,15 @@ void ModelVisual::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("set_layer", "layer"), &ModelVisual::set_layer);
|
ClassDB::bind_method(D_METHOD("set_layer", "layer"), &ModelVisual::set_layer);
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_ENUM, ItemEnums::BINDING_STRING_ENTITY_TEXTURE_LAYERS), "set_layer", "get_layer");
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_ENUM, ItemEnums::BINDING_STRING_ENTITY_TEXTURE_LAYERS), "set_layer", "get_layer");
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("get_visual", "index"), &ModelVisual::get_visual);
|
//ModelVisualEntry
|
||||||
ClassDB::bind_method(D_METHOD("set_visual", "index", "entry"), &ModelVisual::set_visual);
|
ClassDB::bind_method(D_METHOD("get_visual_entry", "index"), &ModelVisual::get_visual_entry);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_visual_entry", "index", "data"), &ModelVisual::set_visual_entry);
|
||||||
|
ClassDB::bind_method(D_METHOD("add_visual_entry", "visual_entry"), &ModelVisual::add_visual_entry);
|
||||||
|
ClassDB::bind_method(D_METHOD("remove_visual_entry", "index"), &ModelVisual::remove_visual_entry);
|
||||||
|
|
||||||
ADD_GROUP("Visuals", "visual_");
|
ClassDB::bind_method(D_METHOD("get_visual_entry_count"), &ModelVisual::get_visual_entry_count);
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_root", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_ROOT);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_pelvis", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_PELVIS);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_spine", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_SPINE);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_spine_1", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_SPINE_1);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_spine_2", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_SPINE_2);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_neck", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_NECK);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_head", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_HEAD);
|
|
||||||
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_clavicle", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_CLAVICLE);
|
ClassDB::bind_method(D_METHOD("get_visual_entries"), &ModelVisual::get_visual_entries);
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_upper_arm", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_UPPER_ARM);
|
ClassDB::bind_method(D_METHOD("set_visual_entries", "visual_entrys"), &ModelVisual::set_visual_entries);
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_forearm", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FOREARM);
|
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "get_visual_entries", PROPERTY_HINT_NONE, "17/17:ModelVisualEntry", PROPERTY_USAGE_DEFAULT, "ModelVisualEntry"), "set_visual_entries", "get_visual_entries");
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_hand", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_HAND);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_thumb_base", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_THUMB_BASE);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_thumb_end", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_THUMB_END);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_fingers_base", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FINGERS_BASE);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_fingers_end", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FINGERS_END);
|
|
||||||
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_clavicle", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_CLAVICLE);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_upper_arm", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_UPPER_ARM);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_forearm", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FOREARM);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_hand", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_HAND);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_thumb_base", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_THUMB_BASE);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_thumb_end", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_THUMB_END);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_fingers_base", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FINGERS_BASE);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_fingers_end", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FINGERS_END);
|
|
||||||
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_thigh", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_THIGH);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_calf", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_CALF);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_foot", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FOOT);
|
|
||||||
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_thigh", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_THIGH);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_calf", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_CALF);
|
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_foot", PROPERTY_HINT_RESOURCE_TYPE, "ModelVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FOOT);
|
|
||||||
}
|
}
|
||||||
|
@ -35,8 +35,16 @@ public:
|
|||||||
ItemEnums::EntityTextureLayers get_layer();
|
ItemEnums::EntityTextureLayers get_layer();
|
||||||
void set_layer(ItemEnums::EntityTextureLayers layer);
|
void set_layer(ItemEnums::EntityTextureLayers layer);
|
||||||
|
|
||||||
Ref<ModelVisualEntry> get_visual(int index);
|
//ModelVisualEntry
|
||||||
void set_visual(int index, Ref<ModelVisualEntry> entry);
|
Ref<ModelVisualEntry> get_visual_entry(const int index) const;
|
||||||
|
void set_visual_entry(const int index, const Ref<ModelVisualEntry> visual_entry);
|
||||||
|
void add_visual_entry(const Ref<ModelVisualEntry> visual_entry);
|
||||||
|
void remove_visual_entry(const int index);
|
||||||
|
|
||||||
|
int get_visual_entry_count() const;
|
||||||
|
|
||||||
|
Vector<Variant> get_visual_entries();
|
||||||
|
void set_visual_entries(const Vector<Variant> &visual_entries);
|
||||||
|
|
||||||
ModelVisual();
|
ModelVisual();
|
||||||
~ModelVisual();
|
~ModelVisual();
|
||||||
@ -46,7 +54,8 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
ItemEnums::EntityTextureLayers _layer;
|
ItemEnums::EntityTextureLayers _layer;
|
||||||
Ref<ModelVisualEntry> _entries[EntityEnums::SKELETON_POINTS_MAX];
|
|
||||||
|
Vector<Ref<ModelVisualEntry> > _visual_entries;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,6 +22,8 @@ SOFTWARE.
|
|||||||
|
|
||||||
#include "model_visual_entry.h"
|
#include "model_visual_entry.h"
|
||||||
|
|
||||||
|
#include "../../singletons/ess.h"
|
||||||
|
|
||||||
ItemEnums::EntityTextureLayers ModelVisualEntry::get_override_layer() {
|
ItemEnums::EntityTextureLayers ModelVisualEntry::get_override_layer() {
|
||||||
return _override_layer;
|
return _override_layer;
|
||||||
}
|
}
|
||||||
@ -29,6 +31,27 @@ void ModelVisualEntry::set_override_layer(ItemEnums::EntityTextureLayers layer)
|
|||||||
_override_layer = layer;
|
_override_layer = layer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ModelVisualEntry::get_entity_type() {
|
||||||
|
return _entity_type;
|
||||||
|
}
|
||||||
|
void ModelVisualEntry::set_entity_type(int value) {
|
||||||
|
_entity_type = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ModelVisualEntry::get_bone() {
|
||||||
|
return _bone;
|
||||||
|
}
|
||||||
|
void ModelVisualEntry::set_bone(int value) {
|
||||||
|
_bone = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ModelVisualEntry::get_group() {
|
||||||
|
return _group;
|
||||||
|
}
|
||||||
|
void ModelVisualEntry::set_group(int value) {
|
||||||
|
_group = value;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef MESH_DATA_RESOURCE_PRESENT
|
#ifdef MESH_DATA_RESOURCE_PRESENT
|
||||||
Ref<MeshDataResource> ModelVisualEntry::get_mesh(int index) {
|
Ref<MeshDataResource> ModelVisualEntry::get_mesh(int index) {
|
||||||
return _mesh[index];
|
return _mesh[index];
|
||||||
@ -70,6 +93,10 @@ ModelVisualEntry::ModelVisualEntry() {
|
|||||||
_override_layer = ItemEnums::ENTITY_TEXTURE_LAYER_NONE;
|
_override_layer = ItemEnums::ENTITY_TEXTURE_LAYER_NONE;
|
||||||
|
|
||||||
_color = Color(1, 1, 1, 1);
|
_color = Color(1, 1, 1, 1);
|
||||||
|
|
||||||
|
_entity_type = 0;
|
||||||
|
_bone = 0;
|
||||||
|
_group = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelVisualEntry::~ModelVisualEntry() {
|
ModelVisualEntry::~ModelVisualEntry() {
|
||||||
@ -84,11 +111,39 @@ ModelVisualEntry::~ModelVisualEntry() {
|
|||||||
_effect.unref();
|
_effect.unref();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ModelVisualEntry::_validate_property(PropertyInfo &property) const {
|
||||||
|
String name = property.name;
|
||||||
|
|
||||||
|
if (name == "group") {
|
||||||
|
property.hint_string = ESS::get_instance()->model_visual_groups_get();
|
||||||
|
} else if (name == "bone") {
|
||||||
|
if (ESS::get_instance()->skeletons_bones_count() > _entity_type) {
|
||||||
|
property.hint_string = ESS::get_instance()->skeletons_bones_index_get(_entity_type);
|
||||||
|
} else {
|
||||||
|
property.hint_string = "";
|
||||||
|
}
|
||||||
|
} else if (name == "entity_type") {
|
||||||
|
property.hint_string = ESS::get_instance()->entity_types_get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ModelVisualEntry::_bind_methods() {
|
void ModelVisualEntry::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("get_override_layer"), &ModelVisualEntry::get_override_layer);
|
ClassDB::bind_method(D_METHOD("get_override_layer"), &ModelVisualEntry::get_override_layer);
|
||||||
ClassDB::bind_method(D_METHOD("set_override_layer", "value"), &ModelVisualEntry::set_override_layer);
|
ClassDB::bind_method(D_METHOD("set_override_layer", "value"), &ModelVisualEntry::set_override_layer);
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "override_layer", PROPERTY_HINT_ENUM, ItemEnums::BINDING_STRING_ENTITY_TEXTURE_LAYERS), "set_override_layer", "get_override_layer");
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "override_layer", PROPERTY_HINT_ENUM, ItemEnums::BINDING_STRING_ENTITY_TEXTURE_LAYERS), "set_override_layer", "get_override_layer");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("get_entity_type"), &ModelVisualEntry::get_entity_type);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_entity_type", "value"), &ModelVisualEntry::set_entity_type);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "entity_type", PROPERTY_HINT_ENUM, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_entity_type", "get_entity_type");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("get_bone"), &ModelVisualEntry::get_bone);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_bone", "value"), &ModelVisualEntry::set_bone);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "bone", PROPERTY_HINT_ENUM), "set_bone", "get_bone");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("get_group"), &ModelVisualEntry::get_group);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_group", "value"), &ModelVisualEntry::set_group);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "group", PROPERTY_HINT_ENUM), "set_group", "get_group");
|
||||||
|
|
||||||
#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);
|
||||||
|
@ -45,6 +45,15 @@ public:
|
|||||||
ItemEnums::EntityTextureLayers get_override_layer();
|
ItemEnums::EntityTextureLayers get_override_layer();
|
||||||
void set_override_layer(ItemEnums::EntityTextureLayers layer);
|
void set_override_layer(ItemEnums::EntityTextureLayers layer);
|
||||||
|
|
||||||
|
int get_entity_type();
|
||||||
|
void set_entity_type(int value);
|
||||||
|
|
||||||
|
int get_bone();
|
||||||
|
void set_bone(int value);
|
||||||
|
|
||||||
|
int get_group();
|
||||||
|
void set_group(int value);
|
||||||
|
|
||||||
#ifdef MESH_DATA_RESOURCE_PRESENT
|
#ifdef MESH_DATA_RESOURCE_PRESENT
|
||||||
Ref<MeshDataResource> get_mesh(int index);
|
Ref<MeshDataResource> get_mesh(int index);
|
||||||
void set_mesh(int index, Ref<MeshDataResource> mesh);
|
void set_mesh(int index, Ref<MeshDataResource> mesh);
|
||||||
@ -66,11 +75,16 @@ public:
|
|||||||
~ModelVisualEntry();
|
~ModelVisualEntry();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
void _validate_property(PropertyInfo &property) const;
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ItemEnums::EntityTextureLayers _override_layer;
|
ItemEnums::EntityTextureLayers _override_layer;
|
||||||
|
|
||||||
|
int _entity_type;
|
||||||
|
int _bone;
|
||||||
|
int _group;
|
||||||
|
|
||||||
#ifdef MESH_DATA_RESOURCE_PRESENT
|
#ifdef MESH_DATA_RESOURCE_PRESENT
|
||||||
Ref<MeshDataResource> _mesh[1];
|
Ref<MeshDataResource> _mesh[1];
|
||||||
#endif
|
#endif
|
||||||
|
@ -123,7 +123,7 @@ void CharacterSkeleton3D::add_model_visual(Ref<ModelVisual> vis) {
|
|||||||
ERR_FAIL_COND(!vis.is_valid());
|
ERR_FAIL_COND(!vis.is_valid());
|
||||||
|
|
||||||
for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) {
|
for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) {
|
||||||
Ref<ModelVisualEntry> e = vis->get_visual(i);
|
Ref<ModelVisualEntry> e = vis->get_visual_entry(i);
|
||||||
|
|
||||||
if (e.is_valid())
|
if (e.is_valid())
|
||||||
add_model_visual_entry(vis, e, i);
|
add_model_visual_entry(vis, e, i);
|
||||||
@ -143,7 +143,7 @@ void CharacterSkeleton3D::remove_model_visual(Ref<ModelVisual> vis) {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) {
|
for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) {
|
||||||
Ref<ModelVisualEntry> e = vis->get_visual(i);
|
Ref<ModelVisualEntry> e = vis->get_visual_entry(i);
|
||||||
|
|
||||||
if (e.is_valid())
|
if (e.is_valid())
|
||||||
remove_model_visual_entry(vis, e, i);
|
remove_model_visual_entry(vis, e, i);
|
||||||
|
Loading…
Reference in New Issue
Block a user