Provides virtual methods that can be overridden to create custom [PhysicsServer2D] implementations.
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].
Overridable version of [method PhysicsServer2D.area_add_shape].
Overridable version of [method PhysicsServer2D.area_attach_canvas_instance_id].
Overridable version of [method PhysicsServer2D.area_attach_object_instance_id].
Overridable version of [method PhysicsServer2D.area_clear_shapes].
Overridable version of [method PhysicsServer2D.area_create].
Overridable version of [method PhysicsServer2D.area_get_canvas_instance_id].
Overridable version of [method PhysicsServer2D.area_get_collision_layer].
Overridable version of [method PhysicsServer2D.area_get_collision_mask].
Overridable version of [method PhysicsServer2D.area_get_object_instance_id].
Overridable version of [method PhysicsServer2D.area_get_param].
Overridable version of [method PhysicsServer2D.area_get_shape].
Overridable version of [method PhysicsServer2D.area_get_shape_count].
Overridable version of [method PhysicsServer2D.area_get_shape_transform].
Overridable version of [method PhysicsServer2D.area_get_space].
Overridable version of [method PhysicsServer2D.area_get_transform].
Overridable version of [method PhysicsServer2D.area_remove_shape].
Overridable version of [method PhysicsServer2D.area_set_area_monitor_callback].
Overridable version of [method PhysicsServer2D.area_set_collision_layer].
Overridable version of [method PhysicsServer2D.area_set_collision_mask].
Overridable version of [method PhysicsServer2D.area_set_monitor_callback].
Overridable version of [method PhysicsServer2D.area_set_monitorable].
Overridable version of [method PhysicsServer2D.area_set_param].
If set to [code]true[/code], 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 [code]area_set_pickable[/code] method. Corresponds to [member PhysicsBody2D.input_pickable].
Overridable version of [method PhysicsServer2D.area_set_shape].
Overridable version of [method PhysicsServer2D.area_set_shape_disabled].
Overridable version of [method PhysicsServer2D.area_set_shape_transform].
Overridable version of [method PhysicsServer2D.area_set_space].
Overridable version of [method PhysicsServer2D.area_set_transform].
Overridable version of [method PhysicsServer2D.body_add_collision_exception].
Overridable version of [method PhysicsServer2D.body_add_constant_central_force].
Overridable version of [method PhysicsServer2D.body_add_constant_force].
Overridable version of [method PhysicsServer2D.body_add_constant_torque].
Overridable version of [method PhysicsServer2D.body_add_shape].
Overridable version of [method PhysicsServer2D.body_apply_central_force].
Overridable version of [method PhysicsServer2D.body_apply_central_impulse].
Overridable version of [method PhysicsServer2D.body_apply_force].
Overridable version of [method PhysicsServer2D.body_apply_impulse].
Overridable version of [method PhysicsServer2D.body_apply_torque].
Overridable version of [method PhysicsServer2D.body_apply_torque_impulse].
Overridable version of [method PhysicsServer2D.body_attach_canvas_instance_id].
Overridable version of [method PhysicsServer2D.body_attach_object_instance_id].
Overridable version of [method PhysicsServer2D.body_clear_shapes].
Given a [param body], a [param shape], and their respective parameters, this method should return [code]true[/code] if a collision between the two would occur, with additional details passed in [param results].
Overridable version of [PhysicsServer2D]'s internal [code]shape_collide[/code] method. Corresponds to [method PhysicsDirectSpaceState2D.collide_shape].
Overridable version of [method PhysicsServer2D.body_create].
Overridable version of [method PhysicsServer2D.body_get_canvas_instance_id].
Returns the [RID]s of all bodies added as collision exceptions for the given [param body]. See also [method _body_add_collision_exception] and [method _body_remove_collision_exception].
Overridable version of [PhysicsServer2D]'s internal [code]body_get_collision_exceptions[/code] method. Corresponds to [method PhysicsBody2D.get_collision_exceptions].
Overridable version of [method PhysicsServer2D.body_get_collision_layer].
Overridable version of [method PhysicsServer2D.body_get_collision_mask].
Overridable version of [method PhysicsServer2D.body_get_collision_priority].
Overridable version of [method PhysicsServer2D.body_get_constant_force].
Overridable version of [method PhysicsServer2D.body_get_constant_torque].
Overridable version of [PhysicsServer2D]'s internal [code]body_get_contacts_reported_depth_threshold[/code] method.
[b]Note:[/b] This method is currently unused by Godot's default physics implementation.
Overridable version of [method PhysicsServer2D.body_get_continuous_collision_detection_mode].
Overridable version of [method PhysicsServer2D.body_get_direct_state].
Overridable version of [method PhysicsServer2D.body_get_max_contacts_reported].
Overridable version of [method PhysicsServer2D.body_get_mode].
Overridable version of [method PhysicsServer2D.body_get_object_instance_id].
Overridable version of [method PhysicsServer2D.body_get_param].
Overridable version of [method PhysicsServer2D.body_get_shape].
Overridable version of [method PhysicsServer2D.body_get_shape_count].
Overridable version of [method PhysicsServer2D.body_get_shape_transform].
Overridable version of [method PhysicsServer2D.body_get_space].
Overridable version of [method PhysicsServer2D.body_get_state].
Overridable version of [method PhysicsServer2D.body_is_omitting_force_integration].
Overridable version of [method PhysicsServer2D.body_remove_collision_exception].
Overridable version of [method PhysicsServer2D.body_remove_shape].
Overridable version of [method PhysicsServer2D.body_reset_mass_properties].
Overridable version of [method PhysicsServer2D.body_set_axis_velocity].
Overridable version of [method PhysicsServer2D.body_set_collision_layer].
Overridable version of [method PhysicsServer2D.body_set_collision_mask].
Overridable version of [method PhysicsServer2D.body_set_collision_priority].
Overridable version of [method PhysicsServer2D.body_set_constant_force].
Overridable version of [method PhysicsServer2D.body_set_constant_torque].
Overridable version of [PhysicsServer2D]'s internal [code]body_set_contacts_reported_depth_threshold[/code] method.
[b]Note:[/b] This method is currently unused by Godot's default physics implementation.
Overridable version of [method PhysicsServer2D.body_set_continuous_collision_detection_mode].
Overridable version of [method PhysicsServer2D.body_set_force_integration_callback].
Overridable version of [method PhysicsServer2D.body_set_max_contacts_reported].
Overridable version of [method PhysicsServer2D.body_set_mode].
Overridable version of [method PhysicsServer2D.body_set_omit_force_integration].
Overridable version of [method PhysicsServer2D.body_set_param].
If set to [code]true[/code], 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 [code]body_set_pickable[/code] method. Corresponds to [member PhysicsBody2D.input_pickable].
Overridable version of [method PhysicsServer2D.body_set_shape].
Overridable version of [method PhysicsServer2D.body_set_shape_as_one_way_collision].
Overridable version of [method PhysicsServer2D.body_set_shape_disabled].
Overridable version of [method PhysicsServer2D.body_set_shape_transform].
Overridable version of [method PhysicsServer2D.body_set_space].
Overridable version of [method PhysicsServer2D.body_set_state].
Assigns the [param body] to call the given [param callable] during the synchronization phase of the loop, before [method _step] is called. See also [method _sync].
Overridable version of [PhysicsServer2D]'s internal [code]body_set_state_sync_callback[/code] method.
Overridable version of [method PhysicsServer2D.body_test_motion]. Unlike the exposed implementation, this method does not receive all of the arguments inside a [PhysicsTestMotionParameters2D].
Overridable version of [method PhysicsServer2D.capsule_shape_create].
Overridable version of [method PhysicsServer2D.circle_shape_create].
Overridable version of [method PhysicsServer2D.concave_polygon_shape_create].
Overridable version of [method PhysicsServer2D.convex_polygon_shape_create].
Overridable version of [method PhysicsServer2D.damped_spring_joint_get_param].
Overridable version of [method PhysicsServer2D.damped_spring_joint_set_param].
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 [method _sync].
Overridable version of [PhysicsServer2D]'s internal [code]end_sync[/code] method.
Called when the main loop finalizes to shut down the physics server. See also [method MainLoop._finalize] and [method _init].
Overridable version of [PhysicsServer2D]'s internal [code]finish[/code] method.
Called every physics step before [method _step] to process all remaining queries.
Overridable version of [PhysicsServer2D]'s internal [code]flush_queries[/code] method.
Overridable version of [method PhysicsServer2D.free_rid].
Overridable version of [method PhysicsServer2D.get_process_info].
Called when the main loop is initialized and creates a new instance of this physics server. See also [method MainLoop._initialize] and [method _finish].
Overridable version of [PhysicsServer2D]'s internal [code]init[/code] method.
Overridable method that should return [code]true[/code] when the physics server is processing queries. See also [method _flush_queries].
Overridable version of [PhysicsServer2D]'s internal [code]is_flushing_queries[/code] method.
Overridable version of [method PhysicsServer2D.joint_clear].
Overridable version of [method PhysicsServer2D.joint_create].
Overridable version of [method PhysicsServer2D.joint_disable_collisions_between_bodies].
Overridable version of [method PhysicsServer2D.joint_get_param].
Overridable version of [method PhysicsServer2D.joint_get_type].
Overridable version of [method PhysicsServer2D.joint_is_disabled_collisions_between_bodies].
Overridable version of [method PhysicsServer2D.joint_make_damped_spring].
Overridable version of [method PhysicsServer2D.joint_make_groove].
Overridable version of [method PhysicsServer2D.joint_make_pin].
Overridable version of [method PhysicsServer2D.joint_set_param].
Overridable version of [method PhysicsServer2D.pin_joint_get_flag].
Overridable version of [method PhysicsServer2D.pin_joint_get_param].
Overridable version of [method PhysicsServer2D.pin_joint_set_flag].
Overridable version of [method PhysicsServer2D.pin_joint_set_param].
Overridable version of [method PhysicsServer2D.rectangle_shape_create].
Overridable version of [method PhysicsServer2D.segment_shape_create].
Overridable version of [method PhysicsServer2D.separation_ray_shape_create].
Overridable version of [method PhysicsServer2D.set_active].
Given two shapes and their parameters, should return [code]true[/code] if a collision between the two would occur, with additional details passed in [param results].
Overridable version of [PhysicsServer2D]'s internal [code]shape_collide[/code] method. Corresponds to [method PhysicsDirectSpaceState2D.collide_shape].
Should return the custom solver bias of the given [param shape], which defines how much bodies are forced to separate on contact when this shape is involved.
Overridable version of [PhysicsServer2D]'s internal [code]shape_get_custom_solver_bias[/code] method. Corresponds to [member Shape2D.custom_solver_bias].
Overridable version of [method PhysicsServer2D.shape_get_data].
Overridable version of [method PhysicsServer2D.shape_get_type].
Should set the custom solver bias for the given [param shape]. It defines how much bodies are forced to separate on contact.
Overridable version of [PhysicsServer2D]'s internal [code]shape_get_custom_solver_bias[/code] method. Corresponds to [member Shape2D.custom_solver_bias].
Overridable version of [method PhysicsServer2D.shape_set_data].
Overridable version of [method PhysicsServer2D.space_create].
Should return how many contacts have occurred during the last physics step in the given [param space]. See also [method _space_get_contacts] and [method _space_set_debug_contacts].
Overridable version of [PhysicsServer2D]'s internal [code]space_get_contact_count[/code] method.
Should return the positions of all contacts that have occurred during the last physics step in the given [param space]. See also [method _space_get_contact_count] and [method _space_set_debug_contacts].
Overridable version of [PhysicsServer2D]'s internal [code]space_get_contacts[/code] method.
Overridable version of [method PhysicsServer2D.space_get_direct_state].
Overridable version of [method PhysicsServer2D.space_get_param].
Overridable version of [method PhysicsServer2D.space_is_active].
Overridable version of [method PhysicsServer2D.space_set_active].
Used internally to allow the given [param space] to store contact points, up to [param max_contacts]. This is automatically set for the main [World2D]'s space when [member SceneTree.debug_collisions_hint] is [code]true[/code], or by checking "Visible Collision Shapes" in the editor. Only works in debug builds.
Overridable version of [PhysicsServer2D]'s internal [code]space_set_debug_contacts[/code] method.
Overridable version of [method PhysicsServer2D.space_set_param].
Called every physics step to process the physics simulation. [param step] is the time elapsed since the last physics step, in seconds. It is usually the same as [method Node.get_physics_process_delta_time].
Overridable version of [PhysicsServer2D]'s internal [code skip-lint]step[/code] method.
Called to indicate that the physics server is synchronizing and cannot access physics states if running on a separate thread. See also [method _end_sync].
Overridable version of [PhysicsServer2D]'s internal [code]sync[/code] method.
Overridable version of [method PhysicsServer2D.world_boundary_shape_create].
Returns [code]true[/code] if the body with the given [RID] is being excluded from [method _body_test_motion]. See also [method Object.get_instance_id].
Returns [code]true[/code] if the object with the given instance ID is being excluded from [method _body_test_motion]. See also [method Object.get_instance_id].