2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2017-11-24 09:16:52 +01:00
<class name= "Area" inherits= "CollisionObject" category= "Core" version= "3.0-beta" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-09-24 09:05:39 +02:00
General purpose area node for detection and 3D physics influence.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2017-09-24 09:05:39 +02:00
3D area that detects [CollisionObject] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping).
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "get_collision_layer_bit" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<description >
Return an individual bit on the layer mask.
</description>
</method>
<method name= "get_collision_mask_bit" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<description >
Return an individual bit on the collision mask.
</description>
</method>
<method name= "get_overlapping_areas" qualifiers= "const" >
<return type= "Array" >
</return>
<description >
2017-10-22 12:56:11 +02:00
Returns a list of intersecting [code]Area[/code]s.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_overlapping_bodies" qualifiers= "const" >
<return type= "Array" >
</return>
<description >
2017-10-21 12:33:50 +02:00
Returns a list of intersecting [PhysicsBody]s.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "overlaps_area" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "area" type= "Node" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
If [code]true[/code] the given area overlaps the Area.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "overlaps_body" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "body" type= "Node" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
If [code]true[/code] the given body overlaps the Area.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_collision_layer_bit" >
<return type= "void" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<argument index= "1" name= "value" type= "bool" >
</argument>
<description >
Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier.
</description>
</method>
<method name= "set_collision_mask_bit" >
<return type= "void" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<argument index= "1" name= "value" type= "bool" >
</argument>
<description >
Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
</description>
</method>
</methods>
<members >
2017-09-13 08:49:40 +02:00
<member name= "angular_damp" type= "float" setter= "set_angular_damp" getter= "get_angular_damp" >
2017-09-24 09:05:39 +02:00
The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping).
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "audio_bus_name" type= "String" setter= "set_audio_bus" getter= "get_audio_bus" >
2017-09-24 09:05:39 +02:00
The name of the area's audio bus.
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "audio_bus_override" type= "bool" setter= "set_audio_bus_override" getter= "is_overriding_audio_bus" >
2017-09-24 09:05:39 +02:00
If [code]true[/code] the area's audio bus overrides the default audio bus. Default value: [code]false[/code].
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "collision_layer" type= "int" setter= "set_collision_layer" getter= "get_collision_layer" >
2017-09-24 09:05:39 +02:00
The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [code]collision_mask[/code].
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" >
2017-09-24 09:05:39 +02:00
The physics layers this area scans to determine collision detection.
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "gravity" type= "float" setter= "set_gravity" getter= "get_gravity" >
2017-09-24 09:05:39 +02:00
The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "gravity_distance_scale" type= "float" setter= "set_gravity_distance_scale" getter= "get_gravity_distance_scale" >
2017-09-24 09:05:39 +02:00
The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "gravity_point" type= "bool" setter= "set_gravity_is_point" getter= "is_gravity_a_point" >
2017-09-24 09:05:39 +02:00
If [code]true[/code] gravity is calculated from a point (set via [code]gravity_vec[/code]). Also see [code]space_override[/code]. Default value: [code]false[/code].
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "gravity_vec" type= "Vector3" setter= "set_gravity_vector" getter= "get_gravity_vector" >
2017-09-24 09:05:39 +02:00
The area's gravity vector (not normalized). If gravity is a point (see [method is_gravity_a_point]), this will be the point of attraction.
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "linear_damp" type= "float" setter= "set_linear_damp" getter= "get_linear_damp" >
2017-09-24 09:05:39 +02:00
The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping).
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "monitorable" type= "bool" setter= "set_monitorable" getter= "is_monitorable" >
2017-09-24 09:05:39 +02:00
If [code]true[/code] other monitoring areas can detect this area. Default value: [code]true[/code].
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "monitoring" type= "bool" setter= "set_monitoring" getter= "is_monitoring" >
2017-09-24 09:05:39 +02:00
If [code]true[/code] the area detects bodies or areas entering and exiting it. Default value: [code]true[/code].
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "priority" type= "float" setter= "set_priority" getter= "get_priority" >
2017-09-24 09:05:39 +02:00
The area's priority. Higher priority areas are processed first. Default value: 0.
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "reverb_bus_amount" type= "float" setter= "set_reverb_amount" getter= "get_reverb_amount" >
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "reverb_bus_enable" type= "bool" setter= "set_use_reverb_bus" getter= "is_using_reverb_bus" >
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "reverb_bus_name" type= "String" setter= "set_reverb_bus" getter= "get_reverb_bus" >
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "reverb_bus_uniformity" type= "float" setter= "set_reverb_uniformity" getter= "get_reverb_uniformity" >
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "space_override" type= "int" setter= "set_space_override_mode" getter= "get_space_override_mode" enum= "Area.SpaceOverride" >
2017-09-24 09:05:39 +02:00
Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE_* constants for values.
2017-09-12 22:42:36 +02:00
</member>
</members>
<signals >
<signal name= "area_entered" >
<argument index= "0" name= "area" type= "Object" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when another area enters.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "area_exited" >
<argument index= "0" name= "area" type= "Object" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when another area exits.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "area_shape_entered" >
<argument index= "0" name= "area_id" type= "int" >
</argument>
<argument index= "1" name= "area" type= "Object" >
</argument>
<argument index= "2" name= "area_shape" type= "int" >
</argument>
<argument index= "3" name= "self_shape" type= "int" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when another area enters, reporting which areas overlapped.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "area_shape_exited" >
<argument index= "0" name= "area_id" type= "int" >
</argument>
<argument index= "1" name= "area" type= "Object" >
</argument>
<argument index= "2" name= "area_shape" type= "int" >
</argument>
<argument index= "3" name= "self_shape" type= "int" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when another area exits, reporting which areas were overlapping.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "body_entered" >
<argument index= "0" name= "body" type= "Object" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when a [PhysicsBody] object enters.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "body_exited" >
<argument index= "0" name= "body" type= "Object" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when a [PhysicsBody2D] object exits.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "body_shape_entered" >
<argument index= "0" name= "body_id" type= "int" >
</argument>
<argument index= "1" name= "body" type= "Object" >
</argument>
<argument index= "2" name= "body_shape" type= "int" >
</argument>
<argument index= "3" name= "area_shape" type= "int" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when a [PhysicsBody2D] object enters, reporting which shapes overlapped.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "body_shape_exited" >
<argument index= "0" name= "body_id" type= "int" >
</argument>
<argument index= "1" name= "body" type= "Object" >
</argument>
<argument index= "2" name= "body_shape" type= "int" >
</argument>
<argument index= "3" name= "area_shape" type= "int" >
</argument>
<description >
2017-09-24 09:05:39 +02:00
Emitted when a [PhysicsBody2D] object exits, reporting which shapes were overlapping.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "SPACE_OVERRIDE_DISABLED" value= "0" enum= "SpaceOverride" >
2017-09-24 09:05:39 +02:00
This area does not affect gravity/damping.
2017-09-16 01:46:14 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SPACE_OVERRIDE_COMBINE" value= "1" enum= "SpaceOverride" >
2017-09-24 09:05:39 +02:00
This area adds its gravity/damping values to whatever has been calculated so far (in [code]priority[/code] order).
2017-09-16 01:46:14 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SPACE_OVERRIDE_COMBINE_REPLACE" value= "2" enum= "SpaceOverride" >
2017-09-24 09:05:39 +02:00
This area adds its gravity/damping values to whatever has been calculated so far (in [code]priority[/code] order), ignoring any lower priority areas.
2017-09-16 01:46:14 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SPACE_OVERRIDE_REPLACE" value= "3" enum= "SpaceOverride" >
2017-09-24 09:05:39 +02:00
This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas.
2017-09-16 01:46:14 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SPACE_OVERRIDE_REPLACE_COMBINE" value= "4" enum= "SpaceOverride" >
2017-09-24 09:05:39 +02:00
This area replaces any gravity/damping calculated so far (in [code]priority[/code] order), but keeps calculating the rest of the areas.
2017-09-16 01:46:14 +02:00
</constant>
2017-09-12 22:42:36 +02:00
</constants>
</class>