Class PhysicsServer2DExtension
Provides virtual methods that can be overridden to create custom PhysicsServer2D implementations.
- Inheritance
-
PhysicsServer2DExtension
Remarks
This class extends PhysicsServer2D by providing additional virtual methods that can be overridden. When these methods are overridden, they will be called instead of the internal methods of the physics server.
Intended for use with GDExtension to create custom implementations of PhysicsServer2D.
Methods
_area_add_shape(RID, RID, Transform2D, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_add_shape.
void _area_add_shape(RID area, RID shape, Transform2D transform, bool disabled)
Parameters
area
RIDshape
RIDtransform
Transform2Ddisabled
bool
_area_attach_canvas_instance_id(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_attach_canvas_instance_id.
void _area_attach_canvas_instance_id(RID area, int id)
Parameters
_area_attach_object_instance_id(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_attach_object_instance_id.
void _area_attach_object_instance_id(RID area, int id)
Parameters
_area_clear_shapes(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_clear_shapes.
void _area_clear_shapes(RID area)
Parameters
area
RID
_area_create
Qualifiers: virtual
Overridable version of area_create.
RID _area_create
_area_get_canvas_instance_id(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_canvas_instance_id.
int _area_get_canvas_instance_id(RID area)
Parameters
area
RID
_area_get_collision_layer(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_collision_layer.
int _area_get_collision_layer(RID area)
Parameters
area
RID
_area_get_collision_mask(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_collision_mask.
int _area_get_collision_mask(RID area)
Parameters
area
RID
_area_get_object_instance_id(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_object_instance_id.
int _area_get_object_instance_id(RID area)
Parameters
area
RID
_area_get_param(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_param.
Variant _area_get_param(RID area, int param)
Parameters
_area_get_shape(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_shape.
RID _area_get_shape(RID area, int shape_idx)
Parameters
_area_get_shape_count(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_shape_count.
int _area_get_shape_count(RID area)
Parameters
area
RID
_area_get_shape_transform(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_shape_transform.
Transform2D _area_get_shape_transform(RID area, int shape_idx)
Parameters
_area_get_space(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_space.
RID _area_get_space(RID area)
Parameters
area
RID
_area_get_transform(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.area_get_transform.
Transform2D _area_get_transform(RID area)
Parameters
area
RID
_area_remove_shape(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_remove_shape.
void _area_remove_shape(RID area, int shape_idx)
Parameters
_area_set_area_monitor_callback(RID, Callable)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_area_monitor_callback.
void _area_set_area_monitor_callback(RID area, Callable callback)
Parameters
_area_set_collision_layer(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_collision_layer.
void _area_set_collision_layer(RID area, int layer)
Parameters
_area_set_collision_mask(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_collision_mask.
void _area_set_collision_mask(RID area, int mask)
Parameters
_area_set_monitor_callback(RID, Callable)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_monitor_callback.
void _area_set_monitor_callback(RID area, Callable callback)
Parameters
_area_set_monitorable(RID, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_monitorable.
void _area_set_monitorable(RID area, bool monitorable)
Parameters
_area_set_param(RID, int, Variant)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_param.
void _area_set_param(RID area, int param, Variant value)
Parameters
_area_set_pickable(RID, bool)
Qualifiers: virtual
If set to true
, allows the area with the given RID to detect mouse inputs when the mouse cursor is hovering on it.
Overridable version of PhysicsServer2D's internal area_set_pickable
method. Corresponds to input_pickable.
void _area_set_pickable(RID area, bool pickable)
Parameters
_area_set_shape(RID, int, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_shape.
void _area_set_shape(RID area, int shape_idx, RID shape)
Parameters
_area_set_shape_disabled(RID, int, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_shape_disabled.
void _area_set_shape_disabled(RID area, int shape_idx, bool disabled)
Parameters
_area_set_shape_transform(RID, int, Transform2D)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_shape_transform.
void _area_set_shape_transform(RID area, int shape_idx, Transform2D transform)
Parameters
area
RIDshape_idx
inttransform
Transform2D
_area_set_space(RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_space.
void _area_set_space(RID area, RID space)
Parameters
_area_set_transform(RID, Transform2D)
Qualifiers: virtual
Overridable version of PhysicsServer2D.area_set_transform.
void _area_set_transform(RID area, Transform2D transform)
Parameters
area
RIDtransform
Transform2D
_body_add_collision_exception(RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_add_collision_exception.
void _body_add_collision_exception(RID body, RID excepted_body)
Parameters
_body_add_constant_central_force(RID, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_add_constant_central_force.
void _body_add_constant_central_force(RID body, Vector2 force)
Parameters
_body_add_constant_force(RID, Vector2, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_add_constant_force.
void _body_add_constant_force(RID body, Vector2 force, Vector2 position)
Parameters
_body_add_constant_torque(RID, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_add_constant_torque.
void _body_add_constant_torque(RID body, float torque)
Parameters
_body_add_shape(RID, RID, Transform2D, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_add_shape.
void _body_add_shape(RID body, RID shape, Transform2D transform, bool disabled)
Parameters
body
RIDshape
RIDtransform
Transform2Ddisabled
bool
_body_apply_central_force(RID, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_apply_central_force.
void _body_apply_central_force(RID body, Vector2 force)
Parameters
_body_apply_central_impulse(RID, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_apply_central_impulse.
void _body_apply_central_impulse(RID body, Vector2 impulse)
Parameters
_body_apply_force(RID, Vector2, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_apply_force.
void _body_apply_force(RID body, Vector2 force, Vector2 position)
Parameters
_body_apply_impulse(RID, Vector2, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_apply_impulse.
void _body_apply_impulse(RID body, Vector2 impulse, Vector2 position)
Parameters
_body_apply_torque(RID, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_apply_torque.
void _body_apply_torque(RID body, float torque)
Parameters
_body_apply_torque_impulse(RID, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_apply_torque_impulse.
void _body_apply_torque_impulse(RID body, float impulse)
Parameters
_body_attach_canvas_instance_id(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_attach_canvas_instance_id.
void _body_attach_canvas_instance_id(RID body, int id)
Parameters
_body_attach_object_instance_id(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_attach_object_instance_id.
void _body_attach_object_instance_id(RID body, int id)
Parameters
_body_clear_shapes(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_clear_shapes.
void _body_clear_shapes(RID body)
Parameters
body
RID
_body_collide_shape(RID, int, RID, Transform2D, Vector2, void*, int, int32_t*)
Qualifiers: virtual
Given a body
, a shape
, and their respective parameters, this method should return true
if a collision between the two would occur, with additional details passed in results
.
Overridable version of PhysicsServer2D's internal shape_collide
method. Corresponds to PhysicsDirectSpaceState2D.collide_shape.
bool _body_collide_shape(RID body, int body_shape, RID shape, Transform2D shape_xform, Vector2 motion, void* results, int result_max, int32_t* result_count)
Parameters
body
RIDbody_shape
intshape
RIDshape_xform
Transform2Dmotion
Vector2results
void*result_max
intresult_count
int32_t*
_body_create
Qualifiers: virtual
Overridable version of body_create.
RID _body_create
_body_get_canvas_instance_id(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_canvas_instance_id.
int _body_get_canvas_instance_id(RID body)
Parameters
body
RID
_body_get_collision_exceptions(RID)
Qualifiers: virtualconst
Returns the RIDs of all bodies added as collision exceptions for the given body
. See also PhysicsServer2DExtension._body_add_collision_exception and PhysicsServer2DExtension._body_remove_collision_exception.
Overridable version of PhysicsServer2D's internal body_get_collision_exceptions
method. Corresponds to get_collision_exceptions.
RID[] _body_get_collision_exceptions(RID body)
Parameters
body
RID
_body_get_collision_layer(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_collision_layer.
int _body_get_collision_layer(RID body)
Parameters
body
RID
_body_get_collision_mask(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_collision_mask.
int _body_get_collision_mask(RID body)
Parameters
body
RID
_body_get_collision_priority(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_collision_priority.
float _body_get_collision_priority(RID body)
Parameters
body
RID
_body_get_constant_force(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_constant_force.
Vector2 _body_get_constant_force(RID body)
Parameters
body
RID
_body_get_constant_torque(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_constant_torque.
float _body_get_constant_torque(RID body)
Parameters
body
RID
_body_get_contacts_reported_depth_threshold(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D's internal body_get_contacts_reported_depth_threshold
method.
Note: This method is currently unused by Godot's default physics implementation.
float _body_get_contacts_reported_depth_threshold(RID body)
Parameters
body
RID
_body_get_continuous_collision_detection_mode(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_continuous_collision_detection_mode.
int _body_get_continuous_collision_detection_mode(RID body)
Parameters
body
RID
_body_get_direct_state(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_get_direct_state.
PhysicsDirectBodyState2D _body_get_direct_state(RID body)
Parameters
body
RID
_body_get_max_contacts_reported(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_max_contacts_reported.
int _body_get_max_contacts_reported(RID body)
Parameters
body
RID
_body_get_mode(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_mode.
int _body_get_mode(RID body)
Parameters
body
RID
_body_get_object_instance_id(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_object_instance_id.
int _body_get_object_instance_id(RID body)
Parameters
body
RID
_body_get_param(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_param.
Variant _body_get_param(RID body, int param)
Parameters
_body_get_shape(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_shape.
RID _body_get_shape(RID body, int shape_idx)
Parameters
_body_get_shape_count(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_shape_count.
int _body_get_shape_count(RID body)
Parameters
body
RID
_body_get_shape_transform(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_shape_transform.
Transform2D _body_get_shape_transform(RID body, int shape_idx)
Parameters
_body_get_space(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_space.
RID _body_get_space(RID body)
Parameters
body
RID
_body_get_state(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_get_state.
Variant _body_get_state(RID body, int state)
Parameters
_body_is_omitting_force_integration(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_is_omitting_force_integration.
bool _body_is_omitting_force_integration(RID body)
Parameters
body
RID
_body_remove_collision_exception(RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_remove_collision_exception.
void _body_remove_collision_exception(RID body, RID excepted_body)
Parameters
_body_remove_shape(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_remove_shape.
void _body_remove_shape(RID body, int shape_idx)
Parameters
_body_reset_mass_properties(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_reset_mass_properties.
void _body_reset_mass_properties(RID body)
Parameters
body
RID
_body_set_axis_velocity(RID, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_axis_velocity.
void _body_set_axis_velocity(RID body, Vector2 axis_velocity)
Parameters
_body_set_collision_layer(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_collision_layer.
void _body_set_collision_layer(RID body, int layer)
Parameters
_body_set_collision_mask(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_collision_mask.
void _body_set_collision_mask(RID body, int mask)
Parameters
_body_set_collision_priority(RID, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_collision_priority.
void _body_set_collision_priority(RID body, float priority)
Parameters
_body_set_constant_force(RID, Vector2)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_constant_force.
void _body_set_constant_force(RID body, Vector2 force)
Parameters
_body_set_constant_torque(RID, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_constant_torque.
void _body_set_constant_torque(RID body, float torque)
Parameters
_body_set_contacts_reported_depth_threshold(RID, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D's internal body_set_contacts_reported_depth_threshold
method.
Note: This method is currently unused by Godot's default physics implementation.
void _body_set_contacts_reported_depth_threshold(RID body, float threshold)
Parameters
_body_set_continuous_collision_detection_mode(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_continuous_collision_detection_mode.
void _body_set_continuous_collision_detection_mode(RID body, int mode)
Parameters
_body_set_force_integration_callback(RID, Callable, Variant)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_force_integration_callback.
void _body_set_force_integration_callback(RID body, Callable callable, Variant userdata)
Parameters
_body_set_max_contacts_reported(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_max_contacts_reported.
void _body_set_max_contacts_reported(RID body, int amount)
Parameters
_body_set_mode(RID, int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_mode.
void _body_set_mode(RID body, int mode)
Parameters
_body_set_omit_force_integration(RID, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_omit_force_integration.
void _body_set_omit_force_integration(RID body, bool enable)
Parameters
_body_set_param(RID, int, Variant)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_param.
void _body_set_param(RID body, int param, Variant value)
Parameters
_body_set_pickable(RID, bool)
Qualifiers: virtual
If set to true
, allows the body with the given RID to detect mouse inputs when the mouse cursor is hovering on it.
Overridable version of PhysicsServer2D's internal body_set_pickable
method. Corresponds to input_pickable.
void _body_set_pickable(RID body, bool pickable)
Parameters
_body_set_shape(RID, int, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_shape.
void _body_set_shape(RID body, int shape_idx, RID shape)
Parameters
_body_set_shape_as_one_way_collision(RID, int, bool, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_shape_as_one_way_collision.
void _body_set_shape_as_one_way_collision(RID body, int shape_idx, bool enable, float margin)
Parameters
_body_set_shape_disabled(RID, int, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_shape_disabled.
void _body_set_shape_disabled(RID body, int shape_idx, bool disabled)
Parameters
_body_set_shape_transform(RID, int, Transform2D)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_shape_transform.
void _body_set_shape_transform(RID body, int shape_idx, Transform2D transform)
Parameters
body
RIDshape_idx
inttransform
Transform2D
_body_set_space(RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_space.
void _body_set_space(RID body, RID space)
Parameters
_body_set_state(RID, int, Variant)
Qualifiers: virtual
Overridable version of PhysicsServer2D.body_set_state.
void _body_set_state(RID body, int state, Variant value)
Parameters
_body_set_state_sync_callback(RID, Callable)
Qualifiers: virtual
Assigns the body
to call the given callable
during the synchronization phase of the loop, before PhysicsServer2DExtension._step is called. See also _sync.
Overridable version of PhysicsServer2D.body_set_state_sync_callback.
void _body_set_state_sync_callback(RID body, Callable callable)
Parameters
_body_test_motion(RID, Transform2D, Vector2, float, bool, bool, PhysicsServer2DExtensionMotionResult*)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.body_test_motion. Unlike the exposed implementation, this method does not receive all of the arguments inside a PhysicsTestMotionParameters2D.
bool _body_test_motion(RID body, Transform2D from, Vector2 motion, float margin, bool collide_separation_ray, bool recovery_as_collision, PhysicsServer2DExtensionMotionResult* result)
Parameters
body
RIDfrom
Transform2Dmotion
Vector2margin
floatcollide_separation_ray
boolrecovery_as_collision
boolresult
PhysicsServer2DExtensionMotionResult*
_capsule_shape_create
Qualifiers: virtual
Overridable version of capsule_shape_create.
RID _capsule_shape_create
_circle_shape_create
Qualifiers: virtual
Overridable version of circle_shape_create.
RID _circle_shape_create
_concave_polygon_shape_create
Qualifiers: virtual
Overridable version of concave_polygon_shape_create.
RID _concave_polygon_shape_create
_convex_polygon_shape_create
Qualifiers: virtual
Overridable version of convex_polygon_shape_create.
RID _convex_polygon_shape_create
_damped_spring_joint_get_param(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.damped_spring_joint_get_param.
float _damped_spring_joint_get_param(RID joint, int param)
Parameters
_damped_spring_joint_set_param(RID, int, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.damped_spring_joint_set_param.
void _damped_spring_joint_set_param(RID joint, int param, float value)
Parameters
_end_sync
Qualifiers: virtual
Called to indicate that the physics server has stopped synchronizing. It is in the loop's iteration/physics phase, and can access physics objects even if running on a separate thread. See also _sync.
Overridable version of PhysicsServer2D's internal end_sync
method.
void _end_sync
_finish
Qualifiers: virtual
Called when the main loop finalizes to shut down the physics server. See also _finalize and _init.
Overridable version of PhysicsServer2D's internal finish
method.
void _finish
_flush_queries
Qualifiers: virtual
Called every physics step before PhysicsServer2DExtension._step to process all remaining queries.
Overridable version of PhysicsServer2D's internal flush_queries
method.
void _flush_queries
_free_rid(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.free_rid.
void _free_rid(RID rid)
Parameters
rid
RID
_get_process_info(int)
Qualifiers: virtual
Overridable version of PhysicsServer2D.get_process_info.
int _get_process_info(int process_info)
Parameters
process_info
int
_init
Qualifiers: virtual
Called when the main loop is initialized and creates a new instance of this physics server. See also _initialize and _finish.
Overridable version of PhysicsServer2D's internal init
method.
void _init
_is_flushing_queries
Qualifiers: virtualconst
Overridable method that should return true
when the physics server is processing queries. See also _flush_queries.
Overridable version of PhysicsServer2D's internal is_flushing_queries
method.
bool _is_flushing_queries
_joint_clear(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.joint_clear.
void _joint_clear(RID joint)
Parameters
joint
RID
_joint_create
Qualifiers: virtual
Overridable version of joint_create.
RID _joint_create
_joint_disable_collisions_between_bodies(RID, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.joint_disable_collisions_between_bodies.
void _joint_disable_collisions_between_bodies(RID joint, bool disable)
Parameters
_joint_get_param(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.joint_get_param.
float _joint_get_param(RID joint, int param)
Parameters
_joint_get_type(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.joint_get_type.
int _joint_get_type(RID joint)
Parameters
joint
RID
_joint_is_disabled_collisions_between_bodies(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.joint_is_disabled_collisions_between_bodies.
bool _joint_is_disabled_collisions_between_bodies(RID joint)
Parameters
joint
RID
_joint_make_damped_spring(RID, Vector2, Vector2, RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.joint_make_damped_spring.
void _joint_make_damped_spring(RID joint, Vector2 anchor_a, Vector2 anchor_b, RID body_a, RID body_b)
Parameters
_joint_make_groove(RID, Vector2, Vector2, Vector2, RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.joint_make_groove.
void _joint_make_groove(RID joint, Vector2 a_groove1, Vector2 a_groove2, Vector2 b_anchor, RID body_a, RID body_b)
Parameters
_joint_make_pin(RID, Vector2, RID, RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.joint_make_pin.
void _joint_make_pin(RID joint, Vector2 anchor, RID body_a, RID body_b)
Parameters
_joint_set_param(RID, int, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.joint_set_param.
void _joint_set_param(RID joint, int param, float value)
Parameters
_pin_joint_get_flag(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.pin_joint_get_flag.
bool _pin_joint_get_flag(RID joint, int flag)
Parameters
_pin_joint_get_param(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.pin_joint_get_param.
float _pin_joint_get_param(RID joint, int param)
Parameters
_pin_joint_set_flag(RID, int, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.pin_joint_set_flag.
void _pin_joint_set_flag(RID joint, int flag, bool enabled)
Parameters
_pin_joint_set_param(RID, int, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.pin_joint_set_param.
void _pin_joint_set_param(RID joint, int param, float value)
Parameters
_rectangle_shape_create
Qualifiers: virtual
Overridable version of rectangle_shape_create.
RID _rectangle_shape_create
_segment_shape_create
Qualifiers: virtual
Overridable version of segment_shape_create.
RID _segment_shape_create
_separation_ray_shape_create
Qualifiers: virtual
Overridable version of separation_ray_shape_create.
RID _separation_ray_shape_create
_set_active(bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.set_active.
void _set_active(bool active)
Parameters
active
bool
_shape_collide(RID, Transform2D, Vector2, RID, Transform2D, Vector2, void*, int, int32_t*)
Qualifiers: virtual
Given two shapes and their parameters, should return true
if a collision between the two would occur, with additional details passed in results
.
Overridable version of PhysicsServer2D's internal shape_collide
method. Corresponds to PhysicsDirectSpaceState2D.collide_shape.
bool _shape_collide(RID shape_A, Transform2D xform_A, Vector2 motion_A, RID shape_B, Transform2D xform_B, Vector2 motion_B, void* results, int result_max, int32_t* result_count)
Parameters
shape_A
RIDxform_A
Transform2Dmotion_A
Vector2shape_B
RIDxform_B
Transform2Dmotion_B
Vector2results
void*result_max
intresult_count
int32_t*
_shape_get_custom_solver_bias(RID)
Qualifiers: virtualconst
Should return the custom solver bias of the given shape
, which defines how much bodies are forced to separate on contact when this shape is involved.
Overridable version of PhysicsServer2D's internal shape_get_custom_solver_bias
method. Corresponds to custom_solver_bias.
float _shape_get_custom_solver_bias(RID shape)
Parameters
shape
RID
_shape_get_data(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.shape_get_data.
Variant _shape_get_data(RID shape)
Parameters
shape
RID
_shape_get_type(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.shape_get_type.
int _shape_get_type(RID shape)
Parameters
shape
RID
_shape_set_custom_solver_bias(RID, float)
Qualifiers: virtual
Should set the custom solver bias for the given shape
. It defines how much bodies are forced to separate on contact.
Overridable version of PhysicsServer2D's internal shape_get_custom_solver_bias
method. Corresponds to custom_solver_bias.
void _shape_set_custom_solver_bias(RID shape, float bias)
Parameters
_shape_set_data(RID, Variant)
Qualifiers: virtual
Overridable version of PhysicsServer2D.shape_set_data.
void _shape_set_data(RID shape, Variant data)
Parameters
_space_create
Qualifiers: virtual
Overridable version of space_create.
RID _space_create
_space_get_contact_count(RID)
Qualifiers: virtualconst
Should return how many contacts have occurred during the last physics step in the given space
. See also PhysicsServer2DExtension._space_get_contacts and PhysicsServer2DExtension._space_set_debug_contacts.
Overridable version of PhysicsServer2D's internal space_get_contact_count
method.
int _space_get_contact_count(RID space)
Parameters
space
RID
_space_get_contacts(RID)
Qualifiers: virtualconst
Should return the positions of all contacts that have occurred during the last physics step in the given space
. See also PhysicsServer2DExtension._space_get_contact_count and PhysicsServer2DExtension._space_set_debug_contacts.
Overridable version of PhysicsServer2D's internal space_get_contacts
method.
PackedVector2Array _space_get_contacts(RID space)
Parameters
space
RID
_space_get_direct_state(RID)
Qualifiers: virtual
Overridable version of PhysicsServer2D.space_get_direct_state.
PhysicsDirectSpaceState2D _space_get_direct_state(RID space)
Parameters
space
RID
_space_get_param(RID, int)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.space_get_param.
float _space_get_param(RID space, int param)
Parameters
_space_is_active(RID)
Qualifiers: virtualconst
Overridable version of PhysicsServer2D.space_is_active.
bool _space_is_active(RID space)
Parameters
space
RID
_space_set_active(RID, bool)
Qualifiers: virtual
Overridable version of PhysicsServer2D.space_set_active.
void _space_set_active(RID space, bool active)
Parameters
_space_set_debug_contacts(RID, int)
Qualifiers: virtual
Used internally to allow the given space
to store contact points, up to max_contacts
. This is automatically set for the main World2D's space when debug_collisions_hint is true
, or by checking "Visible Collision Shapes" in the editor. Only works in debug builds.
Overridable version of PhysicsServer2D's internal space_set_debug_contacts
method.
void _space_set_debug_contacts(RID space, int max_contacts)
Parameters
_space_set_param(RID, int, float)
Qualifiers: virtual
Overridable version of PhysicsServer2D.space_set_param.
void _space_set_param(RID space, int param, float value)
Parameters
_step(float)
Qualifiers: virtual
Called every physics step to process the physics simulation. step
is the time elapsed since the last physics step, in seconds. It is usually the same as get_physics_process_delta_time.
Overridable version of PhysicsServer2D's internal step
method.
void _step(float step)
Parameters
step
float
_sync
Qualifiers: virtual
Called to indicate that the physics server is synchronizing and cannot access physics states if running on a separate thread. See also _end_sync.
Overridable version of PhysicsServer2D's internal sync
method.
void _sync
_world_boundary_shape_create
Qualifiers: virtual
Overridable version of world_boundary_shape_create.
RID _world_boundary_shape_create
body_test_motion_is_excluding_body(RID)
Qualifiers: const
Returns true
if the body with the given RID is being excluded from PhysicsServer2DExtension._body_test_motion. See also get_instance_id.
bool body_test_motion_is_excluding_body(RID body)
Parameters
body
RID
body_test_motion_is_excluding_object(int)
Qualifiers: const
Returns true
if the object with the given instance ID is being excluded from PhysicsServer2DExtension._body_test_motion. See also get_instance_id.
bool body_test_motion_is_excluding_object(int object)
Parameters
object
int