mirror of
https://github.com/godotengine/godot
synced 2024-09-05 11:08:26 +00:00
Change exclude property in PhysicsRayQueryParameters3D
to TypedArray
Change type of exclude property from `Vector<RID>` to `TypedArray<RID>` which is consistent with the 2D version.
This commit is contained in:
parent
6a9317c9fc
commit
82dac64659
|
@ -14,7 +14,7 @@
|
|||
<param index="0" name="from" type="Vector3" />
|
||||
<param index="1" name="to" type="Vector3" />
|
||||
<param index="2" name="collision_mask" type="int" default="4294967295" />
|
||||
<param index="3" name="exclude" type="Array" default="[]" />
|
||||
<param index="3" name="exclude" type="RID[]" default="[]" />
|
||||
<description>
|
||||
Returns a new, pre-configured [PhysicsRayQueryParameters3D] object. Use it to quickly create query parameters using the most common options.
|
||||
[codeblock]
|
||||
|
@ -34,7 +34,7 @@
|
|||
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="4294967295">
|
||||
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
|
||||
</member>
|
||||
<member name="exclude" type="Array" setter="set_exclude" getter="get_exclude" default="[]">
|
||||
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
|
||||
The list of objects or object [RID]s that will be excluded from collisions.
|
||||
</member>
|
||||
<member name="from" type="Vector3" setter="set_from" getter="get_from" default="Vector3(0, 0, 0)">
|
||||
|
|
|
@ -169,19 +169,19 @@ PhysicsDirectBodyState3D::PhysicsDirectBodyState3D() {}
|
|||
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
void PhysicsRayQueryParameters3D::set_exclude(const Vector<RID> &p_exclude) {
|
||||
void PhysicsRayQueryParameters3D::set_exclude(const TypedArray<RID> &p_exclude) {
|
||||
parameters.exclude.clear();
|
||||
for (int i = 0; i < p_exclude.size(); i++) {
|
||||
parameters.exclude.insert(p_exclude[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Vector<RID> PhysicsRayQueryParameters3D::get_exclude() const {
|
||||
Vector<RID> ret;
|
||||
TypedArray<RID> PhysicsRayQueryParameters3D::get_exclude() const {
|
||||
TypedArray<RID> ret;
|
||||
ret.resize(parameters.exclude.size());
|
||||
int idx = 0;
|
||||
for (const RID &E : parameters.exclude) {
|
||||
ret.write[idx++] = E;
|
||||
ret[idx++] = E;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -225,7 +225,7 @@ void PhysicsRayQueryParameters3D::_bind_methods() {
|
|||
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
Ref<PhysicsRayQueryParameters3D> PhysicsRayQueryParameters3D::create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const Vector<RID> &p_exclude) {
|
||||
Ref<PhysicsRayQueryParameters3D> PhysicsRayQueryParameters3D::create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const TypedArray<RID> &p_exclude) {
|
||||
Ref<PhysicsRayQueryParameters3D> params;
|
||||
params.instantiate();
|
||||
params->set_from(p_from);
|
||||
|
|
|
@ -822,7 +822,7 @@ protected:
|
|||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
static Ref<PhysicsRayQueryParameters3D> create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const Vector<RID> &p_exclude);
|
||||
static Ref<PhysicsRayQueryParameters3D> create(Vector3 p_from, Vector3 p_to, uint32_t p_mask, const TypedArray<RID> &p_exclude);
|
||||
const PhysicsDirectSpaceState3D::RayParameters &get_parameters() const { return parameters; }
|
||||
|
||||
void set_from(const Vector3 &p_from) { parameters.from = p_from; }
|
||||
|
@ -846,8 +846,8 @@ public:
|
|||
void set_hit_back_faces(bool p_enable) { parameters.hit_back_faces = p_enable; }
|
||||
bool is_hit_back_faces_enabled() const { return parameters.hit_back_faces; }
|
||||
|
||||
void set_exclude(const Vector<RID> &p_exclude);
|
||||
Vector<RID> get_exclude() const;
|
||||
void set_exclude(const TypedArray<RID> &p_exclude);
|
||||
TypedArray<RID> get_exclude() const;
|
||||
};
|
||||
|
||||
class PhysicsPointQueryParameters3D : public RefCounted {
|
||||
|
|
Loading…
Reference in a new issue