From 8b8dc6c7f90554105a46580d86c0b42d147d145b Mon Sep 17 00:00:00 2001 From: Relintai Date: Fri, 23 Aug 2019 20:52:01 +0200 Subject: [PATCH] Removed everything from the base skeleton. --- skeleton/character_skeleton.cpp | 152 -------------------------------- skeleton/character_skeleton.h | 34 +------ 2 files changed, 1 insertion(+), 185 deletions(-) diff --git a/skeleton/character_skeleton.cpp b/skeleton/character_skeleton.cpp index 6202823..bea1709 100644 --- a/skeleton/character_skeleton.cpp +++ b/skeleton/character_skeleton.cpp @@ -1,161 +1,9 @@ #include "character_skeleton.h" -NodePath CharacterSkeleton::get_bone_path(int index) { - ERR_FAIL_INDEX_V(index, EntityEnums::SKELETON_POINTS_MAX, NodePath()); - - return _bone_paths[index]; -} -void CharacterSkeleton::set_bone_path(int index, NodePath path) { - ERR_FAIL_INDEX(index, EntityEnums::SKELETON_POINTS_MAX); - - _bone_paths[index] = path; - - _bone_nodes[index] = get_node_or_null(path); -} - -Ref CharacterSkeleton::get_visual(int index) { - ERR_FAIL_INDEX_V(index, EntityEnums::SKELETON_POINTS_MAX, Ref()); - - return _visuals[index]; -} -void CharacterSkeleton::set_visual(int index, Ref entry) { - ERR_FAIL_INDEX(index, EntityEnums::SKELETON_POINTS_MAX); - - _visuals[index] = entry; -} - -Node *CharacterSkeleton::get_bone_node(EntityEnums::CharacterSkeletonPoints node_id) { - return _bone_nodes[node_id]; -} - -NodePath CharacterSkeleton::get_animation_player_path() { - return _animation_player_path; -} - -void CharacterSkeleton::set_animation_player_path(NodePath path) { - _animation_player_path = path; - - Node *node = get_node_or_null(_animation_player_path); - - if (node != NULL) { - _animation_player = Object::cast_to(node); - } else { - _animation_player = NULL; - } -} - -AnimationPlayer *CharacterSkeleton::get_animation_player() { - return _animation_player; -} - -NodePath CharacterSkeleton::get_animation_tree_path() { - return _animation_tree_path; -} - -void CharacterSkeleton::set_animation_tree_path(NodePath path) { - _animation_tree_path = path; - - Node *node = get_node_or_null(_animation_tree_path); - - if (node != NULL) { - _animation_tree = Object::cast_to(node); - } else { - _animation_tree = NULL; - } -} - -AnimationTree *CharacterSkeleton::get_animation_tree() { - return _animation_tree; -} - -void CharacterSkeleton::update_nodes() { - for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) { - _bone_nodes[i] = get_node_or_null(_bone_paths[i]); - } - - set_animation_player_path(_animation_player_path); - set_animation_tree_path(_animation_tree_path); -} - CharacterSkeleton::CharacterSkeleton() { - for (int i = 0; i < EntityEnums::SKELETON_POINTS_MAX; ++i) { - _bone_nodes[i] = NULL; - } - - _animation_player = NULL; -} - -void CharacterSkeleton::_notification(int p_what) { - switch (p_what) { - case NOTIFICATION_ENTER_TREE: { - update_nodes(); - } break; - case NOTIFICATION_PROCESS: { - } break; - case NOTIFICATION_EXIT_TREE: { - - } break; - } } void CharacterSkeleton::_bind_methods() { - ClassDB::bind_method(D_METHOD("get_bone_path", "index"), &CharacterSkeleton::get_bone_path); - ClassDB::bind_method(D_METHOD("set_bone_path", "index", "path"), &CharacterSkeleton::set_bone_path); - ClassDB::bind_method(D_METHOD("get_visual", "index"), &CharacterSkeleton::get_visual); - ClassDB::bind_method(D_METHOD("set_visual", "index", "entry"), &CharacterSkeleton::set_visual); - - ADD_GROUP("Visuals", "visual_"); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_root", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_ROOT); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_pelvis", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_PELVIS); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_spine", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_SPINE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_spine_1", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_SPINE_1); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_spine_2", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_SPINE_2); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_neck", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_NECK); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_head", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_HEAD); - - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_clavicle", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_CLAVICLE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_upper_arm", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_UPPER_ARM); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_forearm", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FOREARM); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_hand", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_HAND); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_thumb_base", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_THUMB_BASE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_thumb_end", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_THUMB_END); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_fingers_base", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FINGERS_BASE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_fingers_end", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FINGERS_END); - - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_clavicle", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_CLAVICLE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_upper_arm", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_UPPER_ARM); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_forearm", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FOREARM); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_hand", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_HAND); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_thumb_base", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_THUMB_BASE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_thumb_end", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_THUMB_END); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_fingers_base", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FINGERS_BASE); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_fingers_end", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FINGERS_END); - - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_thigh", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_THIGH); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_calf", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_CALF); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_left_foot", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_LEFT_FOOT); - - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_thigh", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_THIGH); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_calf", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_CALF); - ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "visual_right_foot", PROPERTY_HINT_RESOURCE_TYPE, "CharacterSkeletonVisualEntry"), "set_visual", "get_visual", EntityEnums::SKELETON_POINT_RIGHT_FOOT); - - ADD_GROUP("Bone Paths", "bone_path_"); - ADD_PROPERTYI(PropertyInfo(Variant::NODE_PATH, "bone_path_root"), "set_bone_path", "get_bone_path", EntityEnums::SKELETON_POINT_ROOT); - - ClassDB::bind_method(D_METHOD("get_bone_node", "bone_idx"), &CharacterSkeleton::get_bone_node); - - ClassDB::bind_method(D_METHOD("get_animation_player_path"), &CharacterSkeleton::get_animation_player_path); - ClassDB::bind_method(D_METHOD("set_animation_player_path", "path"), &CharacterSkeleton::set_animation_player_path); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "animation_player_path"), "set_animation_player_path", "get_animation_player_path"); - - ClassDB::bind_method(D_METHOD("get_animation_tree_path"), &CharacterSkeleton::get_animation_tree_path); - ClassDB::bind_method(D_METHOD("set_animation_tree_path", "path"), &CharacterSkeleton::set_animation_tree_path); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "animation_tree_path"), "set_animation_tree_path", "get_animation_tree_path"); - - ClassDB::bind_method(D_METHOD("get_animation_player"), &CharacterSkeleton::get_animation_player); - ClassDB::bind_method(D_METHOD("get_animation_tree"), &CharacterSkeleton::get_animation_tree); - - ClassDB::bind_method(D_METHOD("update_nodes"), &CharacterSkeleton::update_nodes); } diff --git a/skeleton/character_skeleton.h b/skeleton/character_skeleton.h index 681e9be..9f529b3 100644 --- a/skeleton/character_skeleton.h +++ b/skeleton/character_skeleton.h @@ -28,44 +28,12 @@ class CharacterSkeleton : public Spatial { #endif public: - NodePath get_bone_path(int index); - void set_bone_path(int index, NodePath path); - - Ref get_visual(int index); - void set_visual(int index, Ref entry); - - Node *get_bone_node(EntityEnums::CharacterSkeletonPoints node_id); - - NodePath get_animation_player_path(); - void set_animation_player_path(NodePath path); - - AnimationPlayer *get_animation_player(); - - NodePath get_animation_tree_path(); - void set_animation_tree_path(NodePath path); - - AnimationTree *get_animation_tree(); - - void update_nodes(); - CharacterSkeleton(); protected: static void _bind_methods(); - virtual void _notification(int p_notification); -private: - NodePath _animation_player_path; - NodePath _animation_tree_path; - - NodePath _bone_paths[EntityEnums::SKELETON_POINTS_MAX]; - - AnimationPlayer *_animation_player; - AnimationTree *_animation_tree; - - Node *_bone_nodes[EntityEnums::SKELETON_POINTS_MAX]; - - Ref _visuals[EntityEnums::SKELETON_POINTS_MAX]; +//private: };