mirror of
https://github.com/godotengine/godot
synced 2024-09-05 10:08:45 +00:00
Merge pull request #51532 from nekomatata/layer-mask-accessors
Uniformize layer names, script methods and documentation
This commit is contained in:
commit
c89ad92c96
|
@ -29,11 +29,11 @@
|
|||
Gets the camera transform. Subclassed cameras such as [ClippedCamera3D] may provide different transforms than the [Node] transform.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_cull_mask_bit" qualifiers="const">
|
||||
<method name="get_cull_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="layer" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns [code]true[/code] if the given [code]layer[/code] in the [member cull_mask] is enabled, [code]false[/code] otherwise.
|
||||
Returns whether or not the specified layer of the [member cull_mask] is enabled, given a [code]layer_number[/code] between 1 and 20.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_frustum" qualifiers="const">
|
||||
|
@ -92,12 +92,12 @@
|
|||
Returns a 3D position in world space, that is the result of projecting a point on the [Viewport] rectangle by the camera projection. This is useful for casting rays in the form of (origin, normal) for object intersection or picking.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_cull_mask_bit">
|
||||
<method name="set_cull_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="layer" type="int" />
|
||||
<argument index="1" name="enable" type="bool" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Enables or disables the given [code]layer[/code] in the [member cull_mask].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member cull_mask], given a [code]layer_number[/code] between 1 and 20.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_frustum">
|
||||
|
|
|
@ -35,12 +35,11 @@
|
|||
Returns the distance the camera has been offset due to a collision.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns [code]true[/code] if the specified bit index is on.
|
||||
[b]Note:[/b] Bit indices range from 0-19.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="remove_exception">
|
||||
|
@ -57,13 +56,12 @@
|
|||
Removes a collision exception with the specified [RID].
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets the specified bit index to the [code]value[/code].
|
||||
[b]Note:[/b] Bit indices range from 0-19.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -25,18 +25,18 @@
|
|||
Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_layer_bit" qualifiers="const">
|
||||
<method name="get_collision_layer_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified [code]bit[/code] of the [member collision_layer] is set.
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified [code]bit[/code] of the [member collision_mask] is set.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_rid" qualifiers="const">
|
||||
|
@ -79,22 +79,20 @@
|
|||
Removes the given shape owner.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_layer_bit">
|
||||
<method name="set_collision_layer_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_layer].
|
||||
If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_layer].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_mask].
|
||||
If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_mask].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="shape_find_owner" qualifiers="const">
|
||||
|
|
|
@ -27,18 +27,18 @@
|
|||
Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_layer_bit" qualifiers="const">
|
||||
<method name="get_collision_layer_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified [code]bit[/code] of the [member collision_layer] is set.
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified [code]bit[/code] of the [member collision_mask] is set.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_rid" qualifiers="const">
|
||||
|
@ -67,22 +67,20 @@
|
|||
Removes the given shape owner.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_layer_bit">
|
||||
<method name="set_collision_layer_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_layer].
|
||||
If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_layer].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_mask].
|
||||
If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_mask].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="shape_find_owner" qualifiers="const">
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
Initializes the navigation mesh by setting the vertices and indices according to a [Mesh].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether the specified [code]bit[/code] of the [member geometry/collision_mask] is set.
|
||||
Returns whether or not the specified layer of the [member geometry/collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_polygon">
|
||||
|
@ -56,13 +56,12 @@
|
|||
Returns a [PackedVector3Array] containing all the vertices being used to create the polygons.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/code] in the [member geometry/collision_mask].
|
||||
If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/code] in the [member geometry/collision_mask].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member geometry/collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_vertices">
|
||||
|
|
|
@ -7,17 +7,19 @@
|
|||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_bake_mask_bit" qualifiers="const">
|
||||
<method name="get_bake_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="layer" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified layer of the [member bake_mask] is enabled, given a [code]layer_number[/code] between 1 and 20.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_bake_mask_bit">
|
||||
<method name="set_bake_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="layer" type="int" />
|
||||
<argument index="1" name="enabled" type="bool" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member bake_mask], given a [code]layer_number[/code] between 1 and 20.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<argument index="0" name="point" type="Vector2" />
|
||||
<argument index="1" name="max_results" type="int" default="32" />
|
||||
<argument index="2" name="exclude" type="Array" default="[]" />
|
||||
<argument index="3" name="collision_layer" type="int" default="2147483647" />
|
||||
<argument index="3" name="collision_mask" type="int" default="2147483647" />
|
||||
<argument index="4" name="collide_with_bodies" type="bool" default="true" />
|
||||
<argument index="5" name="collide_with_areas" type="bool" default="false" />
|
||||
<description>
|
||||
|
@ -57,7 +57,7 @@
|
|||
[code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method PhysicsServer2D.shape_set_data].
|
||||
[code]rid[/code]: The intersecting object's [RID].
|
||||
[code]shape[/code]: The shape index of the colliding shape.
|
||||
Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively.
|
||||
Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to detect, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively.
|
||||
[b]Note:[/b] [ConcavePolygonShape2D]s and [CollisionPolygon2D]s in [code]Segments[/code] build mode are not solid shapes. Therefore, they will not be detected.
|
||||
</description>
|
||||
</method>
|
||||
|
@ -67,7 +67,7 @@
|
|||
<argument index="1" name="canvas_instance_id" type="int" />
|
||||
<argument index="2" name="max_results" type="int" default="32" />
|
||||
<argument index="3" name="exclude" type="Array" default="[]" />
|
||||
<argument index="4" name="collision_layer" type="int" default="2147483647" />
|
||||
<argument index="4" name="collision_mask" type="int" default="2147483647" />
|
||||
<argument index="5" name="collide_with_bodies" type="bool" default="true" />
|
||||
<argument index="6" name="collide_with_areas" type="bool" default="false" />
|
||||
<description>
|
||||
|
@ -78,7 +78,7 @@
|
|||
<argument index="0" name="from" type="Vector2" />
|
||||
<argument index="1" name="to" type="Vector2" />
|
||||
<argument index="2" name="exclude" type="Array" default="[]" />
|
||||
<argument index="3" name="collision_layer" type="int" default="2147483647" />
|
||||
<argument index="3" name="collision_mask" type="int" default="2147483647" />
|
||||
<argument index="4" name="collide_with_bodies" type="bool" default="true" />
|
||||
<argument index="5" name="collide_with_areas" type="bool" default="false" />
|
||||
<description>
|
||||
|
@ -91,7 +91,7 @@
|
|||
[code]rid[/code]: The intersecting object's [RID].
|
||||
[code]shape[/code]: The shape index of the colliding shape.
|
||||
If the ray did not intersect anything, then an empty dictionary is returned instead.
|
||||
Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively.
|
||||
Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to detect, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively.
|
||||
</description>
|
||||
</method>
|
||||
<method name="intersect_shape">
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
[code]rid[/code]: The intersecting object's [RID].
|
||||
[code]shape[/code]: The shape index of the colliding shape.
|
||||
If the ray did not intersect anything, then an empty dictionary is returned instead.
|
||||
Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody3D]s or [Area3D]s, respectively.
|
||||
Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to detect, or booleans to determine if the ray should collide with [PhysicsBody3D]s or [Area3D]s, respectively.
|
||||
</description>
|
||||
</method>
|
||||
<method name="intersect_shape">
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
<member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
|
||||
If [code]true[/code], the query will take [PhysicsBody2D]s into account.
|
||||
</member>
|
||||
<member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="2147483647">
|
||||
The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
|
||||
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="2147483647">
|
||||
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=https://docs.godotengine.org/en/latest/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="[]">
|
||||
The list of objects or object [RID]s that will be excluded from collisions.
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
If [code]true[/code], the query will take [PhysicsBody3D]s into account.
|
||||
</member>
|
||||
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="2147483647">
|
||||
The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
|
||||
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=https://docs.godotengine.org/en/latest/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="[]">
|
||||
The list of objects or object [RID]s that will be excluded from collisions.
|
||||
|
|
|
@ -777,9 +777,6 @@
|
|||
<member name="internationalization/rendering/text_driver" type="String" setter="" getter="" default="""">
|
||||
Specifies the [TextServer] to use. If left empty, the default will be used.
|
||||
</member>
|
||||
<member name="layer_names/2d_navigation/layer_0" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D navigation layer 0. If left empty, the layer will display as "Layer 0".
|
||||
</member>
|
||||
<member name="layer_names/2d_navigation/layer_1" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D navigation layer 1. If left empty, the layer will display as "Layer 1".
|
||||
</member>
|
||||
|
@ -855,6 +852,9 @@
|
|||
<member name="layer_names/2d_navigation/layer_31" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D navigation layer 31. If left empty, the layer will display as "Layer 31".
|
||||
</member>
|
||||
<member name="layer_names/2d_navigation/layer_32" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D navigation layer 32. If left empty, the layer will display as "Layer 32".
|
||||
</member>
|
||||
<member name="layer_names/2d_navigation/layer_4" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D navigation layer 4. If left empty, the layer will display as "Layer 4".
|
||||
</member>
|
||||
|
@ -873,9 +873,6 @@
|
|||
<member name="layer_names/2d_navigation/layer_9" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D navigation layer 9. If left empty, the layer will display as "Layer 9".
|
||||
</member>
|
||||
<member name="layer_names/2d_physics/layer_0" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D physics layer 0. If left empty, the layer will display as "Layer 0".
|
||||
</member>
|
||||
<member name="layer_names/2d_physics/layer_1" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D physics layer 1. If left empty, the layer will display as "Layer 1".
|
||||
</member>
|
||||
|
@ -951,6 +948,9 @@
|
|||
<member name="layer_names/2d_physics/layer_31" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D physics layer 31. If left empty, the layer will display as "Layer 31".
|
||||
</member>
|
||||
<member name="layer_names/2d_physics/layer_32" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D physics layer 32. If left empty, the layer will display as "Layer 32".
|
||||
</member>
|
||||
<member name="layer_names/2d_physics/layer_4" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D physics layer 4. If left empty, the layer will display as "Layer 4".
|
||||
</member>
|
||||
|
@ -969,9 +969,6 @@
|
|||
<member name="layer_names/2d_physics/layer_9" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D physics layer 9. If left empty, the layer will display as "Layer 9".
|
||||
</member>
|
||||
<member name="layer_names/2d_render/layer_0" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 0. If left empty, the layer will display as "Layer 0".
|
||||
</member>
|
||||
<member name="layer_names/2d_render/layer_1" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 1. If left empty, the layer will display as "Layer 1".
|
||||
</member>
|
||||
|
@ -1008,6 +1005,9 @@
|
|||
<member name="layer_names/2d_render/layer_2" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 2. If left empty, the layer will display as "Layer 2".
|
||||
</member>
|
||||
<member name="layer_names/2d_render/layer_20" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 20. If left empty, the layer will display as "Layer 20".
|
||||
</member>
|
||||
<member name="layer_names/2d_render/layer_3" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 3. If left empty, the layer will display as "Layer 3".
|
||||
</member>
|
||||
|
@ -1029,9 +1029,6 @@
|
|||
<member name="layer_names/2d_render/layer_9" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 9. If left empty, the layer will display as "Layer 9".
|
||||
</member>
|
||||
<member name="layer_names/3d_navigation/layer_0" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D navigation layer 0. If left empty, the layer will display as "Layer 0".
|
||||
</member>
|
||||
<member name="layer_names/3d_navigation/layer_1" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D navigation layer 1. If left empty, the layer will display as "Layer 1".
|
||||
</member>
|
||||
|
@ -1107,6 +1104,9 @@
|
|||
<member name="layer_names/3d_navigation/layer_31" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D navigation layer 31. If left empty, the layer will display as "Layer 31".
|
||||
</member>
|
||||
<member name="layer_names/3d_navigation/layer_32" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D navigation layer 32. If left empty, the layer will display as "Layer 32".
|
||||
</member>
|
||||
<member name="layer_names/3d_navigation/layer_4" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D navigation layer 4. If left empty, the layer will display as "Layer 4".
|
||||
</member>
|
||||
|
@ -1125,9 +1125,6 @@
|
|||
<member name="layer_names/3d_navigation/layer_9" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D navigation layer 9. If left empty, the layer will display as "Layer 9".
|
||||
</member>
|
||||
<member name="layer_names/3d_physics/layer_0" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D physics layer 0. If left empty, the layer will display as "Layer 0".
|
||||
</member>
|
||||
<member name="layer_names/3d_physics/layer_1" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D physics layer 1. If left empty, the layer will display as "Layer 1".
|
||||
</member>
|
||||
|
@ -1203,6 +1200,9 @@
|
|||
<member name="layer_names/3d_physics/layer_31" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D physics layer 31. If left empty, the layer will display as "Layer 31".
|
||||
</member>
|
||||
<member name="layer_names/3d_physics/layer_32" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D physics layer 32. If left empty, the layer will display as "Layer 32".
|
||||
</member>
|
||||
<member name="layer_names/3d_physics/layer_4" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D physics layer 4. If left empty, the layer will display as "Layer 4".
|
||||
</member>
|
||||
|
@ -1221,9 +1221,6 @@
|
|||
<member name="layer_names/3d_physics/layer_9" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D physics layer 9. If left empty, the layer will display as "Layer 9".
|
||||
</member>
|
||||
<member name="layer_names/3d_render/layer_0" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 2D render layer 0. If left empty, the layer will display as "Layer 0".
|
||||
</member>
|
||||
<member name="layer_names/3d_render/layer_1" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D render layer 1. If left empty, the layer will display as "Layer 1".
|
||||
</member>
|
||||
|
@ -1260,6 +1257,9 @@
|
|||
<member name="layer_names/3d_render/layer_2" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D render layer 2. If left empty, the layer will display as "Layer 2".
|
||||
</member>
|
||||
<member name="layer_names/3d_render/layer_20" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D render layer 20. If left empty, the layer will display as "Layer 20".
|
||||
</member>
|
||||
<member name="layer_names/3d_render/layer_3" type="String" setter="" getter="" default="""">
|
||||
Optional name for the 3D render layer 3. If left empty, the layer will display as "Layer 3".
|
||||
</member>
|
||||
|
|
|
@ -53,11 +53,11 @@
|
|||
Returns the shape ID of the first object that the ray intersects, or [code]0[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the collision mask.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_normal" qualifiers="const">
|
||||
|
@ -93,12 +93,12 @@
|
|||
Removes a collision exception so the ray does report collisions with the specified [RID].
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets or clears individual bits on the collision mask. This makes selecting the areas scanned easier.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -55,12 +55,11 @@
|
|||
Returns the shape ID of the first object that the ray intersects, or [code]0[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns [code]true[/code] if the bit index passed is turned on.
|
||||
[b]Note:[/b] Bit indices range from 0-19.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_normal" qualifiers="const">
|
||||
|
@ -96,13 +95,12 @@
|
|||
Removes a collision exception so the ray does report collisions with the specified [RID].
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets the bit index passed to the [code]value[/code] passed.
|
||||
[b]Note:[/b] Bit indexes range from 0-19.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -23,18 +23,18 @@
|
|||
Returns an array of nodes that were added as collision exceptions for this body.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_layer_bit" qualifiers="const">
|
||||
<method name="get_collision_layer_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the collision mask.
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the collision mask.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_physics_rid" qualifiers="const">
|
||||
|
@ -49,20 +49,20 @@
|
|||
Removes a body from the list of bodies that this body can't collide with.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_layer_bit">
|
||||
<method name="set_collision_layer_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets individual bits on the layer mask. Use this if you only need to change one layer's value.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets individual bits on the collision mask. Use this if you only need to change one layer's value.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -27,11 +27,11 @@
|
|||
Returns the RID of this instance. This RID is the same as the RID returned by [method RenderingServer.instance_create]. This RID is needed if you want to call [RenderingServer] functions directly on this [VisualInstance3D].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_layer_mask_bit" qualifiers="const">
|
||||
<method name="get_layer_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="layer" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns [code]true[/code] when the specified layer is enabled in [member layers] and [code]false[/code] otherwise.
|
||||
Returns whether or not the specified layer of the [member layers] is enabled, given a [code]layer_number[/code] between 1 and 20.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_transformed_aabb" qualifiers="const">
|
||||
|
@ -48,12 +48,12 @@
|
|||
Sets the resource that is instantiated by this [VisualInstance3D], which changes how the engine handles the [VisualInstance3D] under the hood. Equivalent to [method RenderingServer.instance_set_base].
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_layer_mask_bit">
|
||||
<method name="set_layer_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="layer" type="int" />
|
||||
<argument index="1" name="enabled" type="bool" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Enables a particular layer in [member layers].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member layers], given a [code]layer_number[/code] between 1 and 20.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -837,7 +837,7 @@ public:
|
|||
Vector2 offset;
|
||||
offset.y = rect2.size.y * 0.75;
|
||||
|
||||
draw_string(font, rect2.position + offset, itos(layer_index), HALIGN_CENTER, rect2.size.x, -1, on ? text_color_on : text_color);
|
||||
draw_string(font, rect2.position + offset, itos(layer_index + 1), HALIGN_CENTER, rect2.size.x, -1, on ? text_color_on : text_color);
|
||||
|
||||
ofs.x += bsize + 1;
|
||||
|
||||
|
@ -993,12 +993,12 @@ void EditorPropertyLayers::setup(LayerType p_layer_type) {
|
|||
for (int i = 0; i < layer_count; i++) {
|
||||
String name;
|
||||
|
||||
if (ProjectSettings::get_singleton()->has_setting(basename + vformat("/layer_%d", i))) {
|
||||
name = ProjectSettings::get_singleton()->get(basename + vformat("/layer_%d", i));
|
||||
if (ProjectSettings::get_singleton()->has_setting(basename + vformat("/layer_%d", i + 1))) {
|
||||
name = ProjectSettings::get_singleton()->get(basename + vformat("/layer_%d", i + 1));
|
||||
}
|
||||
|
||||
if (name == "") {
|
||||
name = vformat(TTR("Layer %d"), i);
|
||||
name = vformat(TTR("Layer %d"), i + 1);
|
||||
}
|
||||
|
||||
names.push_back(name);
|
||||
|
|
|
@ -88,36 +88,40 @@ uint32_t CSGShape3D::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void CSGShape3D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void CSGShape3D::set_collision_layer_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t collision_layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
collision_layer |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
collision_layer &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_layer(collision_layer);
|
||||
}
|
||||
|
||||
bool CSGShape3D::get_collision_layer_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_layer() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void CSGShape3D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool CSGShape3D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
}
|
||||
|
||||
void CSGShape3D::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
uint32_t layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
layer |= 1 << p_bit;
|
||||
} else {
|
||||
layer &= ~(1 << p_bit);
|
||||
}
|
||||
set_collision_layer(layer);
|
||||
}
|
||||
|
||||
bool CSGShape3D::get_collision_layer_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_layer() & (1 << p_bit);
|
||||
bool CSGShape3D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
bool CSGShape3D::is_root_shape() const {
|
||||
|
@ -605,11 +609,11 @@ void CSGShape3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &CSGShape3D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &CSGShape3D::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &CSGShape3D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &CSGShape3D::get_collision_mask_bit);
|
||||
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("set_collision_layer_bit", "bit", "value"), &CSGShape3D::set_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &CSGShape3D::get_collision_layer_bit);
|
||||
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("set_calculate_tangents", "enabled"), &CSGShape3D::set_calculate_tangents);
|
||||
ClassDB::bind_method(D_METHOD("is_calculating_tangents"), &CSGShape3D::is_calculating_tangents);
|
||||
|
|
|
@ -137,11 +137,11 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_layer_bit(int p_bit, bool p_value);
|
||||
bool get_collision_layer_bit(int p_bit) const;
|
||||
void set_collision_layer_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_layer_value(int p_layer_number) const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_snap(float p_snap);
|
||||
float get_snap() const;
|
||||
|
|
|
@ -9,18 +9,18 @@
|
|||
<tutorials>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="get_collision_layer_bit" qualifiers="const">
|
||||
<method name="get_collision_layer_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the collision mask.
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the collision mask.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_meshes" qualifiers="const">
|
||||
|
@ -35,20 +35,20 @@
|
|||
Returns [code]true[/code] if this is a root shape and is thus the object that is rendered.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_layer_bit">
|
||||
<method name="set_collision_layer_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets individual bits on the layer mask. Use this if you only need to change one layer's value.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets individual bits on the collision mask. Use this if you only need to change one layer's value.
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
@ -53,18 +53,18 @@
|
|||
The orientation of the cell at the given grid coordinates. [code]-1[/code] is returned if the cell is empty.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_layer_bit" qualifiers="const">
|
||||
<method name="get_collision_layer_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the [member collision_layer].
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_bit" qualifiers="const">
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns an individual bit on the [member collision_mask].
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_meshes">
|
||||
|
@ -119,20 +119,20 @@
|
|||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_layer_bit">
|
||||
<method name="set_collision_layer_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets an individual bit on the [member collision_layer].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_bit">
|
||||
<method name="set_collision_mask_value">
|
||||
<return type="void" />
|
||||
<argument index="0" name="bit" type="int" />
|
||||
<argument index="0" name="layer_number" type="int" />
|
||||
<argument index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Sets an individual bit on the [member collision_mask].
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="world_to_map" qualifiers="const">
|
||||
|
|
|
@ -151,36 +151,40 @@ uint32_t GridMap::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void GridMap::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void GridMap::set_collision_layer_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t collision_layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
collision_layer |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
collision_layer &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_layer(collision_layer);
|
||||
}
|
||||
|
||||
bool GridMap::get_collision_layer_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_layer() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void GridMap::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool GridMap::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
}
|
||||
|
||||
void GridMap::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
uint32_t layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
layer |= 1 << p_bit;
|
||||
} else {
|
||||
layer &= ~(1 << p_bit);
|
||||
}
|
||||
set_collision_layer(layer);
|
||||
}
|
||||
|
||||
bool GridMap::get_collision_layer_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_layer() & (1 << p_bit);
|
||||
bool GridMap::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void GridMap::set_bake_navigation(bool p_bake_navigation) {
|
||||
|
@ -794,11 +798,11 @@ void GridMap::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &GridMap::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &GridMap::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &GridMap::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &GridMap::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &GridMap::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &GridMap::get_collision_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_bit", "bit", "value"), &GridMap::set_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &GridMap::get_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_value", "layer_number", "value"), &GridMap::set_collision_layer_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_value", "layer_number"), &GridMap::get_collision_layer_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_bake_navigation", "bake_navigation"), &GridMap::set_bake_navigation);
|
||||
ClassDB::bind_method(D_METHOD("is_baking_navigation"), &GridMap::is_baking_navigation);
|
||||
|
|
|
@ -217,11 +217,11 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_layer_bit(int p_bit, bool p_value);
|
||||
bool get_collision_layer_bit(int p_bit) const;
|
||||
void set_collision_layer_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_layer_value(int p_layer_number) const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_bake_navigation(bool p_bake_navigation);
|
||||
bool is_baking_navigation();
|
||||
|
|
|
@ -147,36 +147,40 @@ uint32_t CollisionObject2D::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void CollisionObject2D::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
void CollisionObject2D::set_collision_layer_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t collision_layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
collision_layer |= 1 << p_bit;
|
||||
collision_layer |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
collision_layer &= ~(1 << p_bit);
|
||||
collision_layer &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_layer(collision_layer);
|
||||
}
|
||||
|
||||
bool CollisionObject2D::get_collision_layer_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_layer() & (1 << p_bit);
|
||||
bool CollisionObject2D::get_collision_layer_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_layer() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void CollisionObject2D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void CollisionObject2D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool CollisionObject2D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
bool CollisionObject2D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void CollisionObject2D::set_disable_mode(DisableMode p_mode) {
|
||||
|
@ -565,10 +569,10 @@ void CollisionObject2D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_collision_layer"), &CollisionObject2D::get_collision_layer);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &CollisionObject2D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &CollisionObject2D::get_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_bit", "bit", "value"), &CollisionObject2D::set_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &CollisionObject2D::get_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &CollisionObject2D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &CollisionObject2D::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_value", "layer_number", "value"), &CollisionObject2D::set_collision_layer_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_value", "layer_number"), &CollisionObject2D::get_collision_layer_value);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &CollisionObject2D::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &CollisionObject2D::get_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("set_disable_mode", "mode"), &CollisionObject2D::set_disable_mode);
|
||||
ClassDB::bind_method(D_METHOD("get_disable_mode"), &CollisionObject2D::get_disable_mode);
|
||||
ClassDB::bind_method(D_METHOD("set_pickable", "enabled"), &CollisionObject2D::set_pickable);
|
||||
|
|
|
@ -107,11 +107,11 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_layer_bit(int p_bit, bool p_value);
|
||||
bool get_collision_layer_bit(int p_bit) const;
|
||||
void set_collision_layer_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_layer_value(int p_layer_number) const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_disable_mode(DisableMode p_mode);
|
||||
DisableMode get_disable_mode() const;
|
||||
|
|
|
@ -54,20 +54,22 @@ uint32_t RayCast2D::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void RayCast2D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void RayCast2D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool RayCast2D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
bool RayCast2D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
bool RayCast2D::is_colliding() const {
|
||||
|
@ -323,8 +325,8 @@ void RayCast2D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &RayCast2D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &RayCast2D::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &RayCast2D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &RayCast2D::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &RayCast2D::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &RayCast2D::get_collision_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_exclude_parent_body", "mask"), &RayCast2D::set_exclude_parent_body);
|
||||
ClassDB::bind_method(D_METHOD("get_exclude_parent_body"), &RayCast2D::get_exclude_parent_body);
|
||||
|
|
|
@ -74,8 +74,8 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_exclude_parent_body(bool p_exclude_parent_body);
|
||||
bool get_exclude_parent_body() const;
|
||||
|
|
|
@ -499,8 +499,8 @@ void Camera3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("is_position_in_frustum", "world_point"), &Camera3D::is_position_in_frustum);
|
||||
ClassDB::bind_method(D_METHOD("get_camera_rid"), &Camera3D::get_camera);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_cull_mask_bit", "layer", "enable"), &Camera3D::set_cull_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_cull_mask_bit", "layer"), &Camera3D::get_cull_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_cull_mask_value", "layer_number", "value"), &Camera3D::set_cull_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_cull_mask_value", "layer_number"), &Camera3D::get_cull_mask_value);
|
||||
|
||||
//ClassDB::bind_method(D_METHOD("_camera_make_current"),&Camera::_camera_make_current );
|
||||
|
||||
|
@ -592,18 +592,22 @@ uint32_t Camera3D::get_cull_mask() const {
|
|||
return layers;
|
||||
}
|
||||
|
||||
void Camera3D::set_cull_mask_bit(int p_layer, bool p_enable) {
|
||||
ERR_FAIL_INDEX(p_layer, 32);
|
||||
if (p_enable) {
|
||||
set_cull_mask(layers | (1 << p_layer));
|
||||
void Camera3D::set_cull_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Render layer number must be between 1 and 20 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 20, "Render layer number must be between 1 and 20 inclusive.");
|
||||
uint32_t mask = get_cull_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
set_cull_mask(layers & (~(1 << p_layer)));
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_cull_mask(mask);
|
||||
}
|
||||
|
||||
bool Camera3D::get_cull_mask_bit(int p_layer) const {
|
||||
ERR_FAIL_INDEX_V(p_layer, 32, false);
|
||||
return (layers & (1 << p_layer));
|
||||
bool Camera3D::get_cull_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Render layer number must be between 1 and 20 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 20, false, "Render layer number must be between 1 and 20 inclusive.");
|
||||
return layers & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
Vector<Plane> Camera3D::get_frustum() const {
|
||||
|
@ -767,20 +771,22 @@ uint32_t ClippedCamera3D::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void ClippedCamera3D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
void ClippedCamera3D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool ClippedCamera3D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
bool ClippedCamera3D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void ClippedCamera3D::add_exception_rid(const RID &p_rid) {
|
||||
|
@ -843,8 +849,8 @@ void ClippedCamera3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &ClippedCamera3D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &ClippedCamera3D::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &ClippedCamera3D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &ClippedCamera3D::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &ClippedCamera3D::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &ClippedCamera3D::get_collision_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("add_exception_rid", "rid"), &ClippedCamera3D::add_exception_rid);
|
||||
ClassDB::bind_method(D_METHOD("add_exception", "node"), &ClippedCamera3D::add_exception);
|
||||
|
|
|
@ -147,8 +147,8 @@ public:
|
|||
void set_cull_mask(uint32_t p_layers);
|
||||
uint32_t get_cull_mask() const;
|
||||
|
||||
void set_cull_mask_bit(int p_layer, bool p_enable);
|
||||
bool get_cull_mask_bit(int p_layer) const;
|
||||
void set_cull_mask_value(int p_layer_number, bool p_enable);
|
||||
bool get_cull_mask_value(int p_layer_number) const;
|
||||
|
||||
virtual Vector<Plane> get_frustum() const;
|
||||
bool is_position_in_frustum(const Vector3 &p_position) const;
|
||||
|
@ -224,8 +224,8 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void add_exception_rid(const RID &p_rid);
|
||||
void add_exception(const Object *p_object);
|
||||
|
|
|
@ -146,36 +146,40 @@ uint32_t CollisionObject3D::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void CollisionObject3D::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
void CollisionObject3D::set_collision_layer_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t collision_layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
collision_layer |= 1 << p_bit;
|
||||
collision_layer |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
collision_layer &= ~(1 << p_bit);
|
||||
collision_layer &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_layer(collision_layer);
|
||||
}
|
||||
|
||||
bool CollisionObject3D::get_collision_layer_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_layer() & (1 << p_bit);
|
||||
bool CollisionObject3D::get_collision_layer_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_layer() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void CollisionObject3D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void CollisionObject3D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool CollisionObject3D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
bool CollisionObject3D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void CollisionObject3D::set_disable_mode(DisableMode p_mode) {
|
||||
|
@ -423,10 +427,10 @@ void CollisionObject3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_collision_layer"), &CollisionObject3D::get_collision_layer);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &CollisionObject3D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &CollisionObject3D::get_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_bit", "bit", "value"), &CollisionObject3D::set_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &CollisionObject3D::get_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &CollisionObject3D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &CollisionObject3D::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_value", "layer_number", "value"), &CollisionObject3D::set_collision_layer_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_value", "layer_number"), &CollisionObject3D::get_collision_layer_value);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &CollisionObject3D::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &CollisionObject3D::get_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("set_disable_mode", "mode"), &CollisionObject3D::set_disable_mode);
|
||||
ClassDB::bind_method(D_METHOD("get_disable_mode"), &CollisionObject3D::get_disable_mode);
|
||||
ClassDB::bind_method(D_METHOD("set_ray_pickable", "ray_pickable"), &CollisionObject3D::set_ray_pickable);
|
||||
|
|
|
@ -119,11 +119,11 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_layer_bit(int p_bit, bool p_value);
|
||||
bool get_collision_layer_bit(int p_bit) const;
|
||||
void set_collision_layer_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_layer_value(int p_layer_number) const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_disable_mode(DisableMode p_mode);
|
||||
DisableMode get_disable_mode() const;
|
||||
|
|
|
@ -195,18 +195,22 @@ uint32_t OccluderInstance3D::get_bake_mask() const {
|
|||
return bake_mask;
|
||||
}
|
||||
|
||||
void OccluderInstance3D::set_bake_mask_bit(int p_layer, bool p_enable) {
|
||||
ERR_FAIL_INDEX(p_layer, 32);
|
||||
if (p_enable) {
|
||||
set_bake_mask(bake_mask | (1 << p_layer));
|
||||
void OccluderInstance3D::set_bake_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Render layer number must be between 1 and 20 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 20, "Render layer number must be between 1 and 20 inclusive.");
|
||||
uint32_t mask = get_bake_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
set_bake_mask(bake_mask & (~(1 << p_layer)));
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_bake_mask(mask);
|
||||
}
|
||||
|
||||
bool OccluderInstance3D::get_bake_mask_bit(int p_layer) const {
|
||||
ERR_FAIL_INDEX_V(p_layer, 32, false);
|
||||
return (bake_mask & (1 << p_layer));
|
||||
bool OccluderInstance3D::get_bake_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Render layer number must be between 1 and 20 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 20, false, "Render layer number must be between 1 and 20 inclusive.");
|
||||
return bake_mask & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
bool OccluderInstance3D::_bake_material_check(Ref<Material> p_material) {
|
||||
|
@ -345,8 +349,8 @@ TypedArray<String> OccluderInstance3D::get_configuration_warnings() const {
|
|||
void OccluderInstance3D::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_bake_mask", "mask"), &OccluderInstance3D::set_bake_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_bake_mask"), &OccluderInstance3D::get_bake_mask);
|
||||
ClassDB::bind_method(D_METHOD("set_bake_mask_bit", "layer", "enabled"), &OccluderInstance3D::set_bake_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_bake_mask_bit", "layer"), &OccluderInstance3D::get_bake_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_bake_mask_value", "layer_number", "value"), &OccluderInstance3D::set_bake_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_bake_mask_value", "layer_number"), &OccluderInstance3D::get_bake_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_occluder", "occluder"), &OccluderInstance3D::set_occluder);
|
||||
ClassDB::bind_method(D_METHOD("get_occluder"), &OccluderInstance3D::get_occluder);
|
||||
|
|
|
@ -99,8 +99,9 @@ public:
|
|||
void set_bake_mask(uint32_t p_mask);
|
||||
uint32_t get_bake_mask() const;
|
||||
|
||||
void set_bake_mask_bit(int p_layer, bool p_enable);
|
||||
bool get_bake_mask_bit(int p_layer) const;
|
||||
void set_bake_mask_value(int p_layer_number, bool p_enable);
|
||||
bool get_bake_mask_value(int p_layer_number) const;
|
||||
|
||||
BakeError bake(Node *p_from_node, String p_occluder_path = "");
|
||||
|
||||
OccluderInstance3D();
|
||||
|
|
|
@ -60,20 +60,22 @@ uint32_t RayCast3D::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void RayCast3D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void RayCast3D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool RayCast3D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
bool RayCast3D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
bool RayCast3D::is_colliding() const {
|
||||
|
@ -303,8 +305,8 @@ void RayCast3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &RayCast3D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &RayCast3D::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &RayCast3D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &RayCast3D::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &RayCast3D::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &RayCast3D::get_collision_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_exclude_parent_body", "mask"), &RayCast3D::set_exclude_parent_body);
|
||||
ClassDB::bind_method(D_METHOD("get_exclude_parent_body"), &RayCast3D::get_exclude_parent_body);
|
||||
|
|
|
@ -86,8 +86,8 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_exclude_parent_body(bool p_exclude_parent_body);
|
||||
bool get_exclude_parent_body() const;
|
||||
|
|
|
@ -327,11 +327,11 @@ void SoftBody3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_layer", "collision_layer"), &SoftBody3D::set_collision_layer);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer"), &SoftBody3D::get_collision_layer);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &SoftBody3D::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &SoftBody3D::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &SoftBody3D::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &SoftBody3D::get_collision_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_bit", "bit", "value"), &SoftBody3D::set_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &SoftBody3D::get_collision_layer_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer_value", "layer_number", "value"), &SoftBody3D::set_collision_layer_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer_value", "layer_number"), &SoftBody3D::get_collision_layer_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_parent_collision_ignore", "parent_collision_ignore"), &SoftBody3D::set_parent_collision_ignore);
|
||||
ClassDB::bind_method(D_METHOD("get_parent_collision_ignore"), &SoftBody3D::get_parent_collision_ignore);
|
||||
|
@ -515,36 +515,40 @@ uint32_t SoftBody3D::get_collision_layer() const {
|
|||
return collision_layer;
|
||||
}
|
||||
|
||||
void SoftBody3D::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void SoftBody3D::set_collision_layer_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t collision_layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
collision_layer |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
collision_layer &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_layer(collision_layer);
|
||||
}
|
||||
|
||||
bool SoftBody3D::get_collision_layer_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_layer() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void SoftBody3D::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool SoftBody3D::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
}
|
||||
|
||||
void SoftBody3D::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
uint32_t layer = get_collision_layer();
|
||||
if (p_value) {
|
||||
layer |= 1 << p_bit;
|
||||
} else {
|
||||
layer &= ~(1 << p_bit);
|
||||
}
|
||||
set_collision_layer(layer);
|
||||
}
|
||||
|
||||
bool SoftBody3D::get_collision_layer_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision layer bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_layer() & (1 << p_bit);
|
||||
bool SoftBody3D::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void SoftBody3D::set_disable_mode(DisableMode p_mode) {
|
||||
|
|
|
@ -138,11 +138,11 @@ public:
|
|||
void set_collision_layer(uint32_t p_layer);
|
||||
uint32_t get_collision_layer() const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_layer_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_layer_value(int p_layer_number) const;
|
||||
|
||||
void set_collision_layer_bit(int p_bit, bool p_value);
|
||||
bool get_collision_layer_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_disable_mode(DisableMode p_mode);
|
||||
DisableMode get_disable_mode() const;
|
||||
|
|
|
@ -93,18 +93,22 @@ uint32_t VisualInstance3D::get_layer_mask() const {
|
|||
return layers;
|
||||
}
|
||||
|
||||
void VisualInstance3D::set_layer_mask_bit(int p_layer, bool p_enable) {
|
||||
ERR_FAIL_INDEX(p_layer, 32);
|
||||
if (p_enable) {
|
||||
set_layer_mask(layers | (1 << p_layer));
|
||||
void VisualInstance3D::set_layer_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Render layer number must be between 1 and 20 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 20, "Render layer number must be between 1 and 20 inclusive.");
|
||||
uint32_t mask = get_layer_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
set_layer_mask(layers & (~(1 << p_layer)));
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_layer_mask(mask);
|
||||
}
|
||||
|
||||
bool VisualInstance3D::get_layer_mask_bit(int p_layer) const {
|
||||
ERR_FAIL_INDEX_V(p_layer, 32, false);
|
||||
return (layers & (1 << p_layer));
|
||||
bool VisualInstance3D::get_layer_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Render layer number must be between 1 and 20 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 20, false, "Render layer number must be between 1 and 20 inclusive.");
|
||||
return layers & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void VisualInstance3D::_bind_methods() {
|
||||
|
@ -114,8 +118,8 @@ void VisualInstance3D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_instance"), &VisualInstance3D::get_instance);
|
||||
ClassDB::bind_method(D_METHOD("set_layer_mask", "mask"), &VisualInstance3D::set_layer_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_layer_mask"), &VisualInstance3D::get_layer_mask);
|
||||
ClassDB::bind_method(D_METHOD("set_layer_mask_bit", "layer", "enabled"), &VisualInstance3D::set_layer_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_layer_mask_bit", "layer"), &VisualInstance3D::get_layer_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_layer_mask_value", "layer_number", "value"), &VisualInstance3D::set_layer_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_layer_mask_value", "layer_number"), &VisualInstance3D::get_layer_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_transformed_aabb"), &VisualInstance3D::get_transformed_aabb);
|
||||
|
||||
|
|
|
@ -72,8 +72,8 @@ public:
|
|||
void set_layer_mask(uint32_t p_mask);
|
||||
uint32_t get_layer_mask() const;
|
||||
|
||||
void set_layer_mask_bit(int p_layer, bool p_enable);
|
||||
bool get_layer_mask_bit(int p_layer) const;
|
||||
void set_layer_mask_value(int p_layer_number, bool p_enable);
|
||||
bool get_layer_mask_value(int p_layer_number) const;
|
||||
|
||||
VisualInstance3D();
|
||||
~VisualInstance3D();
|
||||
|
|
|
@ -994,15 +994,15 @@ void register_scene_types() {
|
|||
OS::get_singleton()->yield(); //may take time to init
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_render/layer_%d", i), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_render/layer_%d", i), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_render/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_render/layer_%d", i + 1), "");
|
||||
}
|
||||
|
||||
for (int i = 0; i < 32; i++) {
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_physics/layer_%d", i), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_navigation/layer_%d", i), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_physics/layer_%d", i), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_navigation/layer_%d", i), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_physics/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_navigation/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_physics/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_navigation/layer_%d", i + 1), "");
|
||||
}
|
||||
|
||||
bool default_theme_hidpi = GLOBAL_DEF("gui/theme/use_hidpi", false);
|
||||
|
|
|
@ -91,20 +91,22 @@ uint32_t NavigationMesh::get_collision_mask() const {
|
|||
return collision_mask;
|
||||
}
|
||||
|
||||
void NavigationMesh::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
ERR_FAIL_INDEX_MSG(p_bit, 32, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
void NavigationMesh::set_collision_mask_value(int p_layer_number, bool p_value) {
|
||||
ERR_FAIL_COND_MSG(p_layer_number < 1, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_MSG(p_layer_number > 32, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value) {
|
||||
mask |= 1 << p_bit;
|
||||
mask |= 1 << (p_layer_number - 1);
|
||||
} else {
|
||||
mask &= ~(1 << p_bit);
|
||||
mask &= ~(1 << (p_layer_number - 1));
|
||||
}
|
||||
set_collision_mask(mask);
|
||||
}
|
||||
|
||||
bool NavigationMesh::get_collision_mask_bit(int p_bit) const {
|
||||
ERR_FAIL_INDEX_V_MSG(p_bit, 32, false, "Collision mask bit must be between 0 and 31 inclusive.");
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
bool NavigationMesh::get_collision_mask_value(int p_layer_number) const {
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number < 1, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
ERR_FAIL_COND_V_MSG(p_layer_number > 32, false, "Collision layer number must be between 1 and 32 inclusive.");
|
||||
return get_collision_mask() & (1 << (p_layer_number - 1));
|
||||
}
|
||||
|
||||
void NavigationMesh::set_source_geometry_mode(SourceGeometryMode p_geometry_mode) {
|
||||
|
@ -403,8 +405,8 @@ void NavigationMesh::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &NavigationMesh::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &NavigationMesh::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &NavigationMesh::set_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &NavigationMesh::get_collision_mask_bit);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask_value", "layer_number", "value"), &NavigationMesh::set_collision_mask_value);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask_value", "layer_number"), &NavigationMesh::get_collision_mask_value);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_source_geometry_mode", "mask"), &NavigationMesh::set_source_geometry_mode);
|
||||
ClassDB::bind_method(D_METHOD("get_source_geometry_mode"), &NavigationMesh::get_source_geometry_mode);
|
||||
|
|
|
@ -118,8 +118,8 @@ public:
|
|||
void set_collision_mask(uint32_t p_mask);
|
||||
uint32_t get_collision_mask() const;
|
||||
|
||||
void set_collision_mask_bit(int p_bit, bool p_value);
|
||||
bool get_collision_mask_bit(int p_bit) const;
|
||||
void set_collision_mask_value(int p_layer_number, bool p_value);
|
||||
bool get_collision_mask_value(int p_layer_number) const;
|
||||
|
||||
void set_source_geometry_mode(SourceGeometryMode p_geometry_mode);
|
||||
SourceGeometryMode get_source_geometry_mode() const;
|
||||
|
|
|
@ -234,8 +234,8 @@ void PhysicsShapeQueryParameters2D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_margin", "margin"), &PhysicsShapeQueryParameters2D::set_margin);
|
||||
ClassDB::bind_method(D_METHOD("get_margin"), &PhysicsShapeQueryParameters2D::get_margin);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer", "collision_layer"), &PhysicsShapeQueryParameters2D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer"), &PhysicsShapeQueryParameters2D::get_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("set_collision_mask", "collision_mask"), &PhysicsShapeQueryParameters2D::set_collision_mask);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_mask"), &PhysicsShapeQueryParameters2D::get_collision_mask);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_exclude", "exclude"), &PhysicsShapeQueryParameters2D::set_exclude);
|
||||
ClassDB::bind_method(D_METHOD("get_exclude"), &PhysicsShapeQueryParameters2D::get_exclude);
|
||||
|
@ -246,7 +246,7 @@ void PhysicsShapeQueryParameters2D::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_collide_with_areas", "enable"), &PhysicsShapeQueryParameters2D::set_collide_with_areas);
|
||||
ClassDB::bind_method(D_METHOD("is_collide_with_areas_enabled"), &PhysicsShapeQueryParameters2D::is_collide_with_areas_enabled);
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_collision_layer", "get_collision_layer");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_collision_mask", "get_collision_mask");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "exclude", PROPERTY_HINT_NONE, itos(Variant::RID) + ":"), "set_exclude", "get_exclude");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "margin", PROPERTY_HINT_RANGE, "0,100,0.01"), "set_margin", "get_margin");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion"), "set_motion", "get_motion");
|
||||
|
@ -411,9 +411,9 @@ PhysicsDirectSpaceState2D::PhysicsDirectSpaceState2D() {
|
|||
}
|
||||
|
||||
void PhysicsDirectSpaceState2D::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("intersect_point", "point", "max_results", "exclude", "collision_layer", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState2D::_intersect_point, DEFVAL(32), DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("intersect_point_on_canvas", "point", "canvas_instance_id", "max_results", "exclude", "collision_layer", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState2D::_intersect_point_on_canvas, DEFVAL(32), DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("intersect_ray", "from", "to", "exclude", "collision_layer", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState2D::_intersect_ray, DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("intersect_point", "point", "max_results", "exclude", "collision_mask", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState2D::_intersect_point, DEFVAL(32), DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("intersect_point_on_canvas", "point", "canvas_instance_id", "max_results", "exclude", "collision_mask", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState2D::_intersect_point_on_canvas, DEFVAL(32), DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("intersect_ray", "from", "to", "exclude", "collision_mask", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState2D::_intersect_ray, DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("intersect_shape", "shape", "max_results"), &PhysicsDirectSpaceState2D::_intersect_shape, DEFVAL(32));
|
||||
ClassDB::bind_method(D_METHOD("cast_motion", "shape"), &PhysicsDirectSpaceState2D::_cast_motion);
|
||||
ClassDB::bind_method(D_METHOD("collide_shape", "shape", "max_results"), &PhysicsDirectSpaceState2D::_collide_shape, DEFVAL(32));
|
||||
|
|
Loading…
Reference in a new issue