|
@@ -166,6 +166,16 @@ bool CSGShape3D::get_collision_mask_value(int p_layer_number) const {
|
|
return get_collision_mask() & (1 << (p_layer_number - 1));
|
|
return get_collision_mask() & (1 << (p_layer_number - 1));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+RID CSGShape3D::_get_root_collision_instance() const {
|
|
|
|
+ if (root_collision_instance.is_valid()) {
|
|
|
|
+ return root_collision_instance;
|
|
|
|
+ } else if (parent_shape) {
|
|
|
|
+ return parent_shape->_get_root_collision_instance();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return RID();
|
|
|
|
+}
|
|
|
|
+
|
|
void CSGShape3D::set_collision_priority(real_t p_priority) {
|
|
void CSGShape3D::set_collision_priority(real_t p_priority) {
|
|
collision_priority = p_priority;
|
|
collision_priority = p_priority;
|
|
if (root_collision_instance.is_valid()) {
|
|
if (root_collision_instance.is_valid()) {
|
|
@@ -982,6 +992,8 @@ void CSGShape3D::_bind_methods() {
|
|
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &CSGShape3D::set_collision_mask_value);
|
|
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &CSGShape3D::set_collision_mask_value);
|
|
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &CSGShape3D::get_collision_mask_value);
|
|
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &CSGShape3D::get_collision_mask_value);
|
|
|
|
|
|
|
|
+ ClassDB::bind_method(D_METHOD("_get_root_collision_instance"), &CSGShape3D::_get_root_collision_instance);
|
|
|
|
+
|
|
ClassDB::bind_method(D_METHOD("set_collision_layer_value", "layer_number", "value"), &CSGShape3D::set_collision_layer_value);
|
|
ClassDB::bind_method(D_METHOD("set_collision_layer_value", "layer_number", "value"), &CSGShape3D::set_collision_layer_value);
|
|
ClassDB::bind_method(D_METHOD("get_collision_layer_value", "layer_number"), &CSGShape3D::get_collision_layer_value);
|
|
ClassDB::bind_method(D_METHOD("get_collision_layer_value", "layer_number"), &CSGShape3D::get_collision_layer_value);
|
|
|
|
|