PhysicsServer2DExtension

package
v0.0.0-...-357ca8a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2025 License: MIT Imports: 28 Imported by: 0

Documentation

Overview

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.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type Any

type Any interface {
	gd.IsClass
	AsPhysicsServer2DExtension() Instance
}

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this [Extension]See Interface for methods that can be overridden by T.

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

func (*Extension[T]) AsPhysicsServer2DExtension

func (self *Extension[T]) AsPhysicsServer2DExtension() Instance

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Implementation

type Implementation = implementation

Implementation implements Interface with empty methods.

type Instance

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AsPhysicsServer2DExtension

func (self Instance) AsPhysicsServer2DExtension() Instance

func (Instance) BodyTestMotionIsExcludingBody

func (self Instance) BodyTestMotionIsExcludingBody(body RID.Body2D) bool

Returns true if the body with the given Resource.ID is being excluded from BodyTestMotion. See also Object.GetInstanceId.

func (Instance) BodyTestMotionIsExcludingObject

func (self Instance) BodyTestMotionIsExcludingObject(obj int) bool

Returns true if the object with the given instance ID is being excluded from BodyTestMotion. See also Object.GetInstanceId.

func (Instance) ID

func (self Instance) ID() ID

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

type Interface

type Interface interface {
	// Overridable version of [PhysicsServer2D.WorldBoundaryShapeCreate].
	//
	// [PhysicsServer2D.WorldBoundaryShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#WorldBoundaryShapeCreate
	WorldBoundaryShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.SeparationRayShapeCreate].
	//
	// [PhysicsServer2D.SeparationRayShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SeparationRayShapeCreate
	SeparationRayShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.SegmentShapeCreate].
	//
	// [PhysicsServer2D.SegmentShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SegmentShapeCreate
	SegmentShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.CircleShapeCreate].
	//
	// [PhysicsServer2D.CircleShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#CircleShapeCreate
	CircleShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.RectangleShapeCreate].
	//
	// [PhysicsServer2D.RectangleShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#RectangleShapeCreate
	RectangleShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.CapsuleShapeCreate].
	//
	// [PhysicsServer2D.CapsuleShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#CapsuleShapeCreate
	CapsuleShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.ConvexPolygonShapeCreate].
	//
	// [PhysicsServer2D.ConvexPolygonShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#ConvexPolygonShapeCreate
	ConvexPolygonShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.ConcavePolygonShapeCreate].
	//
	// [PhysicsServer2D.ConcavePolygonShapeCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#ConcavePolygonShapeCreate
	ConcavePolygonShapeCreate() RID.Shape2D
	// Overridable version of [PhysicsServer2D.ShapeSetData].
	//
	// [PhysicsServer2D.ShapeSetData]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#ShapeSetData
	ShapeSetData(shape RID.Shape2D, data any)
	// 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 [Shape2D.CustomSolverBias].
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Shape2D.CustomSolverBias]: https://pkg.go.dev/graphics.gd/classdb/Shape2D#Instance.CustomSolverBias
	ShapeSetCustomSolverBias(shape RID.Shape2D, bias Float.X)
	// Overridable version of [PhysicsServer2D.ShapeGetType].
	//
	// [PhysicsServer2D.ShapeGetType]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#ShapeGetType
	ShapeGetType(shape RID.Shape2D) PhysicsServer2D.ShapeType
	// Overridable version of [PhysicsServer2D.ShapeGetData].
	//
	// [PhysicsServer2D.ShapeGetData]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#ShapeGetData
	ShapeGetData(shape RID.Shape2D) any
	// 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 [Shape2D.CustomSolverBias].
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Shape2D.CustomSolverBias]: https://pkg.go.dev/graphics.gd/classdb/Shape2D#Instance.CustomSolverBias
	ShapeGetCustomSolverBias(shape RID.Shape2D) Float.X
	// 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.CollideShape].
	//
	// [PhysicsDirectSpaceState2D.CollideShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsDirectSpaceState2D#Instance.CollideShape
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	ShapeCollide(shape_A RID.Shape2D, xform_A Transform2D.OriginXY, motion_A Vector2.XY, shape_B RID.Shape2D, xform_B Transform2D.OriginXY, motion_B Vector2.XY, results gdextension.Pointer, result_max int, result_count *int32) bool
	// Overridable version of [PhysicsServer2D.SpaceCreate].
	//
	// [PhysicsServer2D.SpaceCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SpaceCreate
	SpaceCreate() RID.Space2D
	// Overridable version of [PhysicsServer2D.SpaceSetActive].
	//
	// [PhysicsServer2D.SpaceSetActive]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SpaceSetActive
	SpaceSetActive(space RID.Space2D, active bool)
	// Overridable version of [PhysicsServer2D.SpaceIsActive].
	//
	// [PhysicsServer2D.SpaceIsActive]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SpaceIsActive
	SpaceIsActive(space RID.Space2D) bool
	// Overridable version of [PhysicsServer2D.SpaceSetParam].
	//
	// [PhysicsServer2D.SpaceSetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SpaceSetParam
	SpaceSetParam(space RID.Space2D, param PhysicsServer2D.SpaceParameter, value Float.X)
	// Overridable version of [PhysicsServer2D.SpaceGetParam].
	//
	// [PhysicsServer2D.SpaceGetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SpaceGetParam
	SpaceGetParam(space RID.Space2D, param PhysicsServer2D.SpaceParameter) Float.X
	// Overridable version of [PhysicsServer2D.SpaceGetDirectState].
	//
	// [PhysicsServer2D.SpaceGetDirectState]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SpaceGetDirectState
	SpaceGetDirectState(space RID.Space2D) PhysicsDirectSpaceState2D.Instance
	// 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 [SceneTree.DebugCollisionsHint] 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.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [SceneTree.DebugCollisionsHint]: https://pkg.go.dev/graphics.gd/classdb/SceneTree#Instance.DebugCollisionsHint
	// [World2D]: https://pkg.go.dev/graphics.gd/classdb/World2D
	SpaceSetDebugContacts(space RID.Space2D, max_contacts int)
	// Should return the positions of all contacts that have occurred during the last physics step in the given 'space'. See also [SpaceGetContactCount] and [SpaceSetDebugContacts].
	//
	// Overridable version of [PhysicsServer2D]'s internal space_get_contacts method.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [SpaceGetContactCount]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [SpaceSetDebugContacts]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	SpaceGetContacts(space RID.Space2D) []Vector2.XY
	// Should return how many contacts have occurred during the last physics step in the given 'space'. See also [SpaceGetContacts] and [SpaceSetDebugContacts].
	//
	// Overridable version of [PhysicsServer2D]'s internal space_get_contact_count method.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [SpaceGetContacts]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [SpaceSetDebugContacts]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	SpaceGetContactCount(space RID.Space2D) int
	// Overridable version of [PhysicsServer2D.AreaCreate].
	//
	// [PhysicsServer2D.AreaCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaCreate
	AreaCreate() RID.Area2D
	// Overridable version of [PhysicsServer2D.AreaSetSpace].
	//
	// [PhysicsServer2D.AreaSetSpace]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetSpace
	AreaSetSpace(area RID.Area2D, space RID.Space2D)
	// Overridable version of [PhysicsServer2D.AreaGetSpace].
	//
	// [PhysicsServer2D.AreaGetSpace]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetSpace
	AreaGetSpace(area RID.Area2D) RID.Space2D
	// Overridable version of [PhysicsServer2D.AreaAddShape].
	//
	// [PhysicsServer2D.AreaAddShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaAddShape
	AreaAddShape(area RID.Area2D, shape RID.Shape2D, transform Transform2D.OriginXY, disabled bool)
	// Overridable version of [PhysicsServer2D.AreaSetShape].
	//
	// [PhysicsServer2D.AreaSetShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetShape
	AreaSetShape(area RID.Area2D, shape_idx int, shape RID.Shape2D)
	// Overridable version of [PhysicsServer2D.AreaSetShapeTransform].
	//
	// [PhysicsServer2D.AreaSetShapeTransform]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetShapeTransform
	AreaSetShapeTransform(area RID.Area2D, shape_idx int, transform Transform2D.OriginXY)
	// Overridable version of [PhysicsServer2D.AreaSetShapeDisabled].
	//
	// [PhysicsServer2D.AreaSetShapeDisabled]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetShapeDisabled
	AreaSetShapeDisabled(area RID.Area2D, shape_idx int, disabled bool)
	// Overridable version of [PhysicsServer2D.AreaGetShapeCount].
	//
	// [PhysicsServer2D.AreaGetShapeCount]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetShapeCount
	AreaGetShapeCount(area RID.Area2D) int
	// Overridable version of [PhysicsServer2D.AreaGetShape].
	//
	// [PhysicsServer2D.AreaGetShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetShape
	AreaGetShape(area RID.Area2D, shape_idx int) RID.Area2D
	// Overridable version of [PhysicsServer2D.AreaGetShapeTransform].
	//
	// [PhysicsServer2D.AreaGetShapeTransform]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetShapeTransform
	AreaGetShapeTransform(area RID.Area2D, shape_idx int) Transform2D.OriginXY
	// Overridable version of [PhysicsServer2D.AreaRemoveShape].
	//
	// [PhysicsServer2D.AreaRemoveShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaRemoveShape
	AreaRemoveShape(area RID.Area2D, shape_idx int)
	// Overridable version of [PhysicsServer2D.AreaClearShapes].
	//
	// [PhysicsServer2D.AreaClearShapes]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaClearShapes
	AreaClearShapes(area RID.Area2D)
	// Overridable version of [PhysicsServer2D.AreaAttachObjectInstanceId].
	//
	// [PhysicsServer2D.AreaAttachObjectInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaAttachObjectInstanceId
	AreaAttachObjectInstanceId(area RID.Area2D, id int)
	// Overridable version of [PhysicsServer2D.AreaGetObjectInstanceId].
	//
	// [PhysicsServer2D.AreaGetObjectInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetObjectInstanceId
	AreaGetObjectInstanceId(area RID.Area2D) int
	// Overridable version of [PhysicsServer2D.AreaAttachCanvasInstanceId].
	//
	// [PhysicsServer2D.AreaAttachCanvasInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaAttachCanvasInstanceId
	AreaAttachCanvasInstanceId(area RID.Area2D, id int)
	// Overridable version of [PhysicsServer2D.AreaGetCanvasInstanceId].
	//
	// [PhysicsServer2D.AreaGetCanvasInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetCanvasInstanceId
	AreaGetCanvasInstanceId(area RID.Area2D) int
	// Overridable version of [PhysicsServer2D.AreaSetParam].
	//
	// [PhysicsServer2D.AreaSetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetParam
	AreaSetParam(area RID.Area2D, param PhysicsServer2D.AreaParameter, value any)
	// Overridable version of [PhysicsServer2D.AreaSetTransform].
	//
	// [PhysicsServer2D.AreaSetTransform]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetTransform
	AreaSetTransform(area RID.Area2D, transform Transform2D.OriginXY)
	// Overridable version of [PhysicsServer2D.AreaGetParam].
	//
	// [PhysicsServer2D.AreaGetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetParam
	AreaGetParam(area RID.Area2D, param PhysicsServer2D.AreaParameter) any
	// Overridable version of [PhysicsServer2D.AreaGetTransform].
	//
	// [PhysicsServer2D.AreaGetTransform]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetTransform
	AreaGetTransform(area RID.Area2D) Transform2D.OriginXY
	// Overridable version of [PhysicsServer2D.AreaSetCollisionLayer].
	//
	// [PhysicsServer2D.AreaSetCollisionLayer]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetCollisionLayer
	AreaSetCollisionLayer(area RID.Area2D, layer int)
	// Overridable version of [PhysicsServer2D.AreaGetCollisionLayer].
	//
	// [PhysicsServer2D.AreaGetCollisionLayer]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetCollisionLayer
	AreaGetCollisionLayer(area RID.Area2D) int
	// Overridable version of [PhysicsServer2D.AreaSetCollisionMask].
	//
	// [PhysicsServer2D.AreaSetCollisionMask]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetCollisionMask
	AreaSetCollisionMask(area RID.Area2D, mask int)
	// Overridable version of [PhysicsServer2D.AreaGetCollisionMask].
	//
	// [PhysicsServer2D.AreaGetCollisionMask]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaGetCollisionMask
	AreaGetCollisionMask(area RID.Area2D) int
	// Overridable version of [PhysicsServer2D.AreaSetMonitorable].
	//
	// [PhysicsServer2D.AreaSetMonitorable]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetMonitorable
	AreaSetMonitorable(area RID.Area2D, monitorable bool)
	// If set to true, allows the area with the given [Resource.ID] to detect mouse inputs when the mouse cursor is hovering on it.
	//
	// Overridable version of [PhysicsServer2D]'s internal area_set_pickable method. Corresponds to [CollisionObject2D.InputPickable].
	//
	// [CollisionObject2D.InputPickable]: https://pkg.go.dev/graphics.gd/classdb/CollisionObject2D#Instance.InputPickable
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Resource.ID]: https://pkg.go.dev/graphics.gd/variant/Resource#ID
	AreaSetPickable(area RID.Area2D, pickable bool)
	// Overridable version of [PhysicsServer2D.AreaSetMonitorCallback].
	//
	// [PhysicsServer2D.AreaSetMonitorCallback]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetMonitorCallback
	AreaSetMonitorCallback(area RID.Area2D, callback func(status int, body_rid RID.Any, instance_id Object.ID, body_shape_idx int, self_shape_idx int))
	// Overridable version of [PhysicsServer2D.AreaSetAreaMonitorCallback].
	//
	// [PhysicsServer2D.AreaSetAreaMonitorCallback]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#AreaSetAreaMonitorCallback
	AreaSetAreaMonitorCallback(area RID.Area2D, callback func(status int, body_rid RID.Any, instance_id Object.ID, body_shape_idx int, self_shape_idx int))
	// Overridable version of [PhysicsServer2D.BodyCreate].
	//
	// [PhysicsServer2D.BodyCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyCreate
	BodyCreate() RID.Body2D
	// Overridable version of [PhysicsServer2D.BodySetSpace].
	//
	// [PhysicsServer2D.BodySetSpace]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetSpace
	BodySetSpace(body RID.Body2D, space RID.Space2D)
	// Overridable version of [PhysicsServer2D.BodyGetSpace].
	//
	// [PhysicsServer2D.BodyGetSpace]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetSpace
	BodyGetSpace(body RID.Body2D) RID.Space2D
	// Overridable version of [PhysicsServer2D.BodySetMode].
	//
	// [PhysicsServer2D.BodySetMode]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetMode
	BodySetMode(body RID.Body2D, mode PhysicsServer2D.BodyMode)
	// Overridable version of [PhysicsServer2D.BodyGetMode].
	//
	// [PhysicsServer2D.BodyGetMode]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetMode
	BodyGetMode(body RID.Body2D) PhysicsServer2D.BodyMode
	// Overridable version of [PhysicsServer2D.BodyAddShape].
	//
	// [PhysicsServer2D.BodyAddShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAddShape
	BodyAddShape(body RID.Body2D, shape RID.Shape2D, transform Transform2D.OriginXY, disabled bool)
	// Overridable version of [PhysicsServer2D.BodySetShape].
	//
	// [PhysicsServer2D.BodySetShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetShape
	BodySetShape(body RID.Body2D, shape_idx int, shape RID.Shape2D)
	// Overridable version of [PhysicsServer2D.BodySetShapeTransform].
	//
	// [PhysicsServer2D.BodySetShapeTransform]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetShapeTransform
	BodySetShapeTransform(body RID.Body2D, shape_idx int, transform Transform2D.OriginXY)
	// Overridable version of [PhysicsServer2D.BodyGetShapeCount].
	//
	// [PhysicsServer2D.BodyGetShapeCount]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetShapeCount
	BodyGetShapeCount(body RID.Body2D) int
	// Overridable version of [PhysicsServer2D.BodyGetShape].
	//
	// [PhysicsServer2D.BodyGetShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetShape
	BodyGetShape(body RID.Body2D, shape_idx int) RID.Body2D
	// Overridable version of [PhysicsServer2D.BodyGetShapeTransform].
	//
	// [PhysicsServer2D.BodyGetShapeTransform]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetShapeTransform
	BodyGetShapeTransform(body RID.Body2D, shape_idx int) Transform2D.OriginXY
	// Overridable version of [PhysicsServer2D.BodySetShapeDisabled].
	//
	// [PhysicsServer2D.BodySetShapeDisabled]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetShapeDisabled
	BodySetShapeDisabled(body RID.Body2D, shape_idx int, disabled bool)
	// Overridable version of [PhysicsServer2D.BodySetShapeAsOneWayCollision].
	//
	// [PhysicsServer2D.BodySetShapeAsOneWayCollision]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetShapeAsOneWayCollision
	BodySetShapeAsOneWayCollision(body RID.Body2D, shape_idx int, enable bool, margin Float.X)
	// Overridable version of [PhysicsServer2D.BodyRemoveShape].
	//
	// [PhysicsServer2D.BodyRemoveShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyRemoveShape
	BodyRemoveShape(body RID.Body2D, shape_idx int)
	// Overridable version of [PhysicsServer2D.BodyClearShapes].
	//
	// [PhysicsServer2D.BodyClearShapes]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyClearShapes
	BodyClearShapes(body RID.Body2D)
	// Overridable version of [PhysicsServer2D.BodyAttachObjectInstanceId].
	//
	// [PhysicsServer2D.BodyAttachObjectInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAttachObjectInstanceId
	BodyAttachObjectInstanceId(body RID.Body2D, id int)
	// Overridable version of [PhysicsServer2D.BodyGetObjectInstanceId].
	//
	// [PhysicsServer2D.BodyGetObjectInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetObjectInstanceId
	BodyGetObjectInstanceId(body RID.Body2D) int
	// Overridable version of [PhysicsServer2D.BodyAttachCanvasInstanceId].
	//
	// [PhysicsServer2D.BodyAttachCanvasInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAttachCanvasInstanceId
	BodyAttachCanvasInstanceId(body RID.Body2D, id int)
	// Overridable version of [PhysicsServer2D.BodyGetCanvasInstanceId].
	//
	// [PhysicsServer2D.BodyGetCanvasInstanceId]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetCanvasInstanceId
	BodyGetCanvasInstanceId(body RID.Body2D) int
	// Overridable version of [PhysicsServer2D.BodySetContinuousCollisionDetectionMode].
	//
	// [PhysicsServer2D.BodySetContinuousCollisionDetectionMode]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetContinuousCollisionDetectionMode
	BodySetContinuousCollisionDetectionMode(body RID.Body2D, mode PhysicsServer2D.CCDMode)
	// Overridable version of [PhysicsServer2D.BodyGetContinuousCollisionDetectionMode].
	//
	// [PhysicsServer2D.BodyGetContinuousCollisionDetectionMode]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetContinuousCollisionDetectionMode
	BodyGetContinuousCollisionDetectionMode(body RID.Body2D) PhysicsServer2D.CCDMode
	// Overridable version of [PhysicsServer2D.BodySetCollisionLayer].
	//
	// [PhysicsServer2D.BodySetCollisionLayer]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetCollisionLayer
	BodySetCollisionLayer(body RID.Body2D, layer int)
	// Overridable version of [PhysicsServer2D.BodyGetCollisionLayer].
	//
	// [PhysicsServer2D.BodyGetCollisionLayer]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetCollisionLayer
	BodyGetCollisionLayer(body RID.Body2D) int
	// Overridable version of [PhysicsServer2D.BodySetCollisionMask].
	//
	// [PhysicsServer2D.BodySetCollisionMask]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetCollisionMask
	BodySetCollisionMask(body RID.Body2D, mask int)
	// Overridable version of [PhysicsServer2D.BodyGetCollisionMask].
	//
	// [PhysicsServer2D.BodyGetCollisionMask]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetCollisionMask
	BodyGetCollisionMask(body RID.Body2D) int
	// Overridable version of [PhysicsServer2D.BodySetCollisionPriority].
	//
	// [PhysicsServer2D.BodySetCollisionPriority]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetCollisionPriority
	BodySetCollisionPriority(body RID.Body2D, priority Float.X)
	// Overridable version of [PhysicsServer2D.BodyGetCollisionPriority].
	//
	// [PhysicsServer2D.BodyGetCollisionPriority]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetCollisionPriority
	BodyGetCollisionPriority(body RID.Body2D) Float.X
	// Overridable version of [PhysicsServer2D.BodySetParam].
	//
	// [PhysicsServer2D.BodySetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetParam
	BodySetParam(body RID.Body2D, param PhysicsServer2D.BodyParameter, value any)
	// Overridable version of [PhysicsServer2D.BodyGetParam].
	//
	// [PhysicsServer2D.BodyGetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetParam
	BodyGetParam(body RID.Body2D, param PhysicsServer2D.BodyParameter) any
	// Overridable version of [PhysicsServer2D.BodyResetMassProperties].
	//
	// [PhysicsServer2D.BodyResetMassProperties]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyResetMassProperties
	BodyResetMassProperties(body RID.Body2D)
	// Overridable version of [PhysicsServer2D.BodySetState].
	//
	// [PhysicsServer2D.BodySetState]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetState
	BodySetState(body RID.Body2D, state PhysicsServer2D.BodyState, value any)
	// Overridable version of [PhysicsServer2D.BodyGetState].
	//
	// [PhysicsServer2D.BodyGetState]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetState
	BodyGetState(body RID.Body2D, state PhysicsServer2D.BodyState) any
	// Overridable version of [PhysicsServer2D.BodyApplyCentralImpulse].
	//
	// [PhysicsServer2D.BodyApplyCentralImpulse]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyApplyCentralImpulse
	BodyApplyCentralImpulse(body RID.Body2D, impulse Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyApplyTorqueImpulse].
	//
	// [PhysicsServer2D.BodyApplyTorqueImpulse]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyApplyTorqueImpulse
	BodyApplyTorqueImpulse(body RID.Body2D, impulse Float.X)
	// Overridable version of [PhysicsServer2D.BodyApplyImpulse].
	//
	// [PhysicsServer2D.BodyApplyImpulse]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyApplyImpulse
	BodyApplyImpulse(body RID.Body2D, impulse Vector2.XY, position Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyApplyCentralForce].
	//
	// [PhysicsServer2D.BodyApplyCentralForce]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyApplyCentralForce
	BodyApplyCentralForce(body RID.Body2D, force Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyApplyForce].
	//
	// [PhysicsServer2D.BodyApplyForce]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyApplyForce
	BodyApplyForce(body RID.Body2D, force Vector2.XY, position Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyApplyTorque].
	//
	// [PhysicsServer2D.BodyApplyTorque]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyApplyTorque
	BodyApplyTorque(body RID.Body2D, torque Float.X)
	// Overridable version of [PhysicsServer2D.BodyAddConstantCentralForce].
	//
	// [PhysicsServer2D.BodyAddConstantCentralForce]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAddConstantCentralForce
	BodyAddConstantCentralForce(body RID.Body2D, force Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyAddConstantForce].
	//
	// [PhysicsServer2D.BodyAddConstantForce]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAddConstantForce
	BodyAddConstantForce(body RID.Body2D, force Vector2.XY, position Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyAddConstantTorque].
	//
	// [PhysicsServer2D.BodyAddConstantTorque]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAddConstantTorque
	BodyAddConstantTorque(body RID.Body2D, torque Float.X)
	// Overridable version of [PhysicsServer2D.BodySetConstantForce].
	//
	// [PhysicsServer2D.BodySetConstantForce]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetConstantForce
	BodySetConstantForce(body RID.Body2D, force Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyGetConstantForce].
	//
	// [PhysicsServer2D.BodyGetConstantForce]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetConstantForce
	BodyGetConstantForce(body RID.Body2D) Vector2.XY
	// Overridable version of [PhysicsServer2D.BodySetConstantTorque].
	//
	// [PhysicsServer2D.BodySetConstantTorque]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetConstantTorque
	BodySetConstantTorque(body RID.Body2D, torque Float.X)
	// Overridable version of [PhysicsServer2D.BodyGetConstantTorque].
	//
	// [PhysicsServer2D.BodyGetConstantTorque]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetConstantTorque
	BodyGetConstantTorque(body RID.Body2D) Float.X
	// Overridable version of [PhysicsServer2D.BodySetAxisVelocity].
	//
	// [PhysicsServer2D.BodySetAxisVelocity]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetAxisVelocity
	BodySetAxisVelocity(body RID.Body2D, axis_velocity Vector2.XY)
	// Overridable version of [PhysicsServer2D.BodyAddCollisionException].
	//
	// [PhysicsServer2D.BodyAddCollisionException]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyAddCollisionException
	BodyAddCollisionException(body RID.Body2D, excepted_body RID.Body2D)
	// Overridable version of [PhysicsServer2D.BodyRemoveCollisionException].
	//
	// [PhysicsServer2D.BodyRemoveCollisionException]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyRemoveCollisionException
	BodyRemoveCollisionException(body RID.Body2D, excepted_body RID.Body2D)
	// Returns the [Resource.ID]s of all bodies added as collision exceptions for the given 'body'. See also [BodyAddCollisionException] and [BodyRemoveCollisionException].
	//
	// Overridable version of [PhysicsServer2D]'s internal body_get_collision_exceptions method. Corresponds to [PhysicsBody2D.GetCollisionExceptions].
	//
	// [BodyAddCollisionException]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [BodyRemoveCollisionException]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [PhysicsBody2D.GetCollisionExceptions]: https://pkg.go.dev/graphics.gd/classdb/PhysicsBody2D#Instance.GetCollisionExceptions
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Resource.ID]: https://pkg.go.dev/graphics.gd/variant/Resource#ID
	BodyGetCollisionExceptions(body RID.Body2D) []RID.Body2D
	// Overridable version of [PhysicsServer2D.BodySetMaxContactsReported].
	//
	// [PhysicsServer2D.BodySetMaxContactsReported]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetMaxContactsReported
	BodySetMaxContactsReported(body RID.Body2D, amount int)
	// Overridable version of [PhysicsServer2D.BodyGetMaxContactsReported].
	//
	// [PhysicsServer2D.BodyGetMaxContactsReported]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetMaxContactsReported
	BodyGetMaxContactsReported(body RID.Body2D) int
	// 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.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	BodySetContactsReportedDepthThreshold(body RID.Body2D, threshold Float.X)
	// 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.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	BodyGetContactsReportedDepthThreshold(body RID.Body2D) Float.X
	// Overridable version of [PhysicsServer2D.BodySetOmitForceIntegration].
	//
	// [PhysicsServer2D.BodySetOmitForceIntegration]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetOmitForceIntegration
	BodySetOmitForceIntegration(body RID.Body2D, enable bool)
	// Overridable version of [PhysicsServer2D.BodyIsOmittingForceIntegration].
	//
	// [PhysicsServer2D.BodyIsOmittingForceIntegration]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyIsOmittingForceIntegration
	BodyIsOmittingForceIntegration(body RID.Body2D) bool
	// Assigns the 'body' to call the given 'callable' during the synchronization phase of the loop, before [Step] is called. See also [Sync].
	//
	// Overridable version of [PhysicsServer2D.BodySetStateSyncCallback].
	//
	// [PhysicsServer2D.BodySetStateSyncCallback]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetStateSyncCallback
	// [Step]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [Sync]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	BodySetStateSyncCallback(body RID.Body2D, callable func(state PhysicsDirectBodyState2D.Instance))
	// Overridable version of [PhysicsServer2D.BodySetForceIntegrationCallback].
	//
	// [PhysicsServer2D.BodySetForceIntegrationCallback]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodySetForceIntegrationCallback
	BodySetForceIntegrationCallback(body RID.Body2D, callable func(state PhysicsDirectBodyState2D.Instance, userdata any), userdata any)
	// 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.CollideShape].
	//
	// [PhysicsDirectSpaceState2D.CollideShape]: https://pkg.go.dev/graphics.gd/classdb/PhysicsDirectSpaceState2D#Instance.CollideShape
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	BodyCollideShape(body RID.Body2D, body_shape int, shape RID.Shape2D, shape_xform Transform2D.OriginXY, motion Vector2.XY, results gdextension.Pointer, result_max int, result_count *int32) bool
	// If set to true, allows the body with the given [Resource.ID] to detect mouse inputs when the mouse cursor is hovering on it.
	//
	// Overridable version of [PhysicsServer2D]'s internal body_set_pickable method. Corresponds to [CollisionObject2D.InputPickable].
	//
	// [CollisionObject2D.InputPickable]: https://pkg.go.dev/graphics.gd/classdb/CollisionObject2D#Instance.InputPickable
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Resource.ID]: https://pkg.go.dev/graphics.gd/variant/Resource#ID
	BodySetPickable(body RID.Body2D, pickable bool)
	// Overridable version of [PhysicsServer2D.BodyGetDirectState].
	//
	// [PhysicsServer2D.BodyGetDirectState]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyGetDirectState
	BodyGetDirectState(body RID.Body2D) PhysicsDirectBodyState2D.Instance
	// Overridable version of [PhysicsServer2D.BodyTestMotion]. Unlike the exposed implementation, this method does not receive all of the arguments inside a [PhysicsTestMotionParameters2D].
	//
	// [PhysicsServer2D.BodyTestMotion]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#BodyTestMotion
	// [PhysicsTestMotionParameters2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsTestMotionParameters2D
	BodyTestMotion(body RID.Body2D, from Transform2D.OriginXY, motion Vector2.XY, margin Float.X, collide_separation_ray bool, recovery_as_collision bool, result *MotionResult) bool
	// Overridable version of [PhysicsServer2D.JointCreate].
	//
	// [PhysicsServer2D.JointCreate]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointCreate
	JointCreate() RID.Joint2D
	// Overridable version of [PhysicsServer2D.JointClear].
	//
	// [PhysicsServer2D.JointClear]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointClear
	JointClear(joint RID.Joint2D)
	// Overridable version of [PhysicsServer2D.JointSetParam].
	//
	// [PhysicsServer2D.JointSetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointSetParam
	JointSetParam(joint RID.Joint2D, param PhysicsServer2D.JointParam, value Float.X)
	// Overridable version of [PhysicsServer2D.JointGetParam].
	//
	// [PhysicsServer2D.JointGetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointGetParam
	JointGetParam(joint RID.Joint2D, param PhysicsServer2D.JointParam) Float.X
	// Overridable version of [PhysicsServer2D.JointDisableCollisionsBetweenBodies].
	//
	// [PhysicsServer2D.JointDisableCollisionsBetweenBodies]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointDisableCollisionsBetweenBodies
	JointDisableCollisionsBetweenBodies(joint RID.Joint2D, disable bool)
	// Overridable version of [PhysicsServer2D.JointIsDisabledCollisionsBetweenBodies].
	//
	// [PhysicsServer2D.JointIsDisabledCollisionsBetweenBodies]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointIsDisabledCollisionsBetweenBodies
	JointIsDisabledCollisionsBetweenBodies(joint RID.Joint2D) bool
	// Overridable version of [PhysicsServer2D.JointMakePin].
	//
	// [PhysicsServer2D.JointMakePin]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointMakePin
	JointMakePin(joint RID.Joint2D, anchor Vector2.XY, body_a RID.Body2D, body_b RID.Body2D)
	// Overridable version of [PhysicsServer2D.JointMakeGroove].
	//
	// [PhysicsServer2D.JointMakeGroove]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointMakeGroove
	JointMakeGroove(joint RID.Joint2D, a_groove1 Vector2.XY, a_groove2 Vector2.XY, b_anchor Vector2.XY, body_a RID.Body2D, body_b RID.Body2D)
	// Overridable version of [PhysicsServer2D.JointMakeDampedSpring].
	//
	// [PhysicsServer2D.JointMakeDampedSpring]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointMakeDampedSpring
	JointMakeDampedSpring(joint RID.Joint2D, anchor_a Vector2.XY, anchor_b Vector2.XY, body_a RID.Body2D, body_b RID.Body2D)
	// Overridable version of [PhysicsServer2D.PinJointSetFlag].
	//
	// [PhysicsServer2D.PinJointSetFlag]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#PinJointSetFlag
	PinJointSetFlag(joint RID.Joint2D, flag PhysicsServer2D.PinJointFlag, enabled bool)
	// Overridable version of [PhysicsServer2D.PinJointGetFlag].
	//
	// [PhysicsServer2D.PinJointGetFlag]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#PinJointGetFlag
	PinJointGetFlag(joint RID.Joint2D, flag PhysicsServer2D.PinJointFlag) bool
	// Overridable version of [PhysicsServer2D.PinJointSetParam].
	//
	// [PhysicsServer2D.PinJointSetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#PinJointSetParam
	PinJointSetParam(joint RID.Joint2D, param PhysicsServer2D.PinJointParam, value Float.X)
	// Overridable version of [PhysicsServer2D.PinJointGetParam].
	//
	// [PhysicsServer2D.PinJointGetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#PinJointGetParam
	PinJointGetParam(joint RID.Joint2D, param PhysicsServer2D.PinJointParam) Float.X
	// Overridable version of [PhysicsServer2D.DampedSpringJointSetParam].
	//
	// [PhysicsServer2D.DampedSpringJointSetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#DampedSpringJointSetParam
	DampedSpringJointSetParam(joint RID.Joint2D, param PhysicsServer2D.DampedSpringParam, value Float.X)
	// Overridable version of [PhysicsServer2D.DampedSpringJointGetParam].
	//
	// [PhysicsServer2D.DampedSpringJointGetParam]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#DampedSpringJointGetParam
	DampedSpringJointGetParam(joint RID.Joint2D, param PhysicsServer2D.DampedSpringParam) Float.X
	// Overridable version of [PhysicsServer2D.JointGetType].
	//
	// [PhysicsServer2D.JointGetType]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#JointGetType
	JointGetType(joint RID.Joint2D) PhysicsServer2D.JointType
	// Overridable version of [PhysicsServer2D.FreeRid].
	//
	// [PhysicsServer2D.FreeRid]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#FreeRid
	FreeRid(rid RID.Any)
	// Overridable version of [PhysicsServer2D.SetActive].
	//
	// [PhysicsServer2D.SetActive]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#SetActive
	SetActive(active bool)
	// Called when the main loop is initialized and creates a new instance of this physics server. See also [MainLoop.Initialize] and [Finish].
	//
	// Overridable version of [PhysicsServer2D]'s internal init method.
	//
	// [Finish]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [MainLoop.Initialize]: https://pkg.go.dev/graphics.gd/classdb/MainLoop#Instance.Initialize
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	Init()
	// 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 the value returned by [Node.GetPhysicsProcessDeltaTime].
	//
	// Overridable version of [PhysicsServer2D]'s internal step method.
	//
	// [Node.GetPhysicsProcessDeltaTime]: https://pkg.go.dev/graphics.gd/classdb/Node#Instance.GetPhysicsProcessDeltaTime
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	Step(step Float.X)
	// Called to indicate that the physics server is synchronizing and cannot access physics states if running on a separate thread. See also [EndSync].
	//
	// Overridable version of [PhysicsServer2D]'s internal sync method.
	//
	// [EndSync]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	Sync()
	// Called every physics step before [Step] to process all remaining queries.
	//
	// Overridable version of [PhysicsServer2D]'s internal flush_queries method.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Step]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	FlushQueries()
	// 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.
	//
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	// [Sync]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	EndSync()
	// Called when the main loop finalizes to shut down the physics server. See also [MainLoop.Finalize] and [Init].
	//
	// Overridable version of [PhysicsServer2D]'s internal finish method.
	//
	// [Init]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [MainLoop.Finalize]: https://pkg.go.dev/graphics.gd/classdb/MainLoop#Instance.Finalize
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	Finish()
	// Overridable method that should return true when the physics server is processing queries. See also [FlushQueries].
	//
	// Overridable version of [PhysicsServer2D]'s internal is_flushing_queries method.
	//
	// [FlushQueries]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2DExtension#Interface
	// [PhysicsServer2D]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D
	IsFlushingQueries() bool
	// Overridable version of [PhysicsServer2D.GetProcessInfo].
	//
	// [PhysicsServer2D.GetProcessInfo]: https://pkg.go.dev/graphics.gd/classdb/PhysicsServer2D#GetProcessInfo
	GetProcessInfo(process_info PhysicsServer2D.ProcessInfo) int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL