Fixes #19845 no 3d Compilation issue

This commit is contained in:
Andrea Catania 2018-07-01 11:54:13 +02:00
parent 68c106d60d
commit 08009c75a2
2 changed files with 15 additions and 0 deletions

View File

@ -547,6 +547,8 @@ void Skeleton::localize_rests() {
}
}
#ifndef _3D_DISABLED
void Skeleton::bind_physical_bone_to_bone(int p_bone, PhysicalBone *p_physical_bone) {
ERR_FAIL_INDEX(p_bone, bones.size());
ERR_FAIL_COND(bones[p_bone].physical_bone);
@ -691,6 +693,8 @@ void Skeleton::physical_bones_remove_collision_exception(RID p_exception) {
_physical_bones_add_remove_collision_exception(false, this, p_exception);
}
#endif // _3D_DISABLED
void Skeleton::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_bone", "name"), &Skeleton::add_bone);
@ -727,11 +731,15 @@ void Skeleton::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_bone_transform", "bone_idx"), &Skeleton::get_bone_transform);
#ifndef _3D_DISABLED
ClassDB::bind_method(D_METHOD("physical_bones_stop_simulation"), &Skeleton::physical_bones_stop_simulation);
ClassDB::bind_method(D_METHOD("physical_bones_start_simulation", "bones"), &Skeleton::physical_bones_start_simulation_on, DEFVAL(Array()));
ClassDB::bind_method(D_METHOD("physical_bones_add_collision_exception", "exception"), &Skeleton::physical_bones_add_collision_exception);
ClassDB::bind_method(D_METHOD("physical_bones_remove_collision_exception", "exception"), &Skeleton::physical_bones_remove_collision_exception);
#endif // _3D_DISABLED
BIND_CONSTANT(NOTIFICATION_UPDATE_SKELETON);
}

View File

@ -38,7 +38,10 @@
@author Juan Linietsky <reduzio@gmail.com>
*/
#ifndef _3D_DISABLED
class PhysicalBone;
#endif // _3D_DISABLED
class Skeleton : public Spatial {
GDCLASS(Skeleton, Spatial);
@ -64,8 +67,10 @@ class Skeleton : public Spatial {
Transform transform_final;
#ifndef _3D_DISABLED
PhysicalBone *physical_bone;
PhysicalBone *cache_parent_physical_bone;
#endif // _3D_DISABLED
List<uint32_t> nodes_bound;
@ -164,6 +169,7 @@ public:
void localize_rests(); // used for loaders and tools
#ifndef _3D_DISABLED
// Physical bone API
void bind_physical_bone_to_bone(int p_bone, PhysicalBone *p_physical_bone);
@ -182,6 +188,7 @@ public:
void physical_bones_start_simulation_on(const Array &p_bones);
void physical_bones_add_collision_exception(RID p_exception);
void physical_bones_remove_collision_exception(RID p_exception);
#endif // _3D_DISABLED
public:
Skeleton();