Table of Contents

Class InteractionSensor

Namespace
Squiggles.Core.Extension
Assembly
SquigglesCommon4X.dll

An Area3D based collision detection system for detecting interactable objects. Useful for a variety of things. Mainly, a distance based interactable detector. So the closest available IInteractable that is detected by the Area3D is set to CurrentInteraction

[GlobalClass]
[ScriptPath("res://Core/Modules/Interaction/InteractionSensor.cs")]
public class InteractionSensor : Area3D, IDisposable
Inheritance
GodotObject
Node
Node3D
CollisionObject3D
Area3D
InteractionSensor
Implements
Inherited Members
Area3D.GetOverlappingBodies()
Area3D.GetOverlappingAreas()
Area3D.HasOverlappingBodies()
Area3D.HasOverlappingAreas()
Area3D.OverlapsBody(Node)
Area3D.OverlapsArea(Node)
Area3D.Monitoring
Area3D.Monitorable
Area3D.Priority
Area3D.GravitySpaceOverride
Area3D.GravityPoint
Area3D.GravityPointUnitDistance
Area3D.GravityPointCenter
Area3D.GravityDirection
Area3D.Gravity
Area3D.LinearDampSpaceOverride
Area3D.LinearDamp
Area3D.AngularDampSpaceOverride
Area3D.AngularDamp
Area3D.WindForceMagnitude
Area3D.WindAttenuationFactor
Area3D.WindSourcePath
Area3D.AudioBusOverride
Area3D.AudioBusName
Area3D.ReverbBusEnabled
Area3D.ReverbBusName
Area3D.ReverbBusAmount
Area3D.ReverbBusUniformity
Area3D.BodyShapeEntered
Area3D.BodyShapeExited
Area3D.BodyEntered
Area3D.BodyExited
Area3D.AreaShapeEntered
Area3D.AreaShapeExited
Area3D.AreaEntered
Area3D.AreaExited
CollisionObject3D._MouseEnter()
CollisionObject3D._MouseExit()
CollisionObject3D.GetRid()
CollisionObject3D.GetShapeOwners()
CollisionObject3D.DisableMode
CollisionObject3D.CollisionLayer
CollisionObject3D.CollisionMask
CollisionObject3D.CollisionPriority
CollisionObject3D.InputRayPickable
CollisionObject3D.InputCaptureOnDrag
CollisionObject3D.InputEvent
CollisionObject3D.MouseEntered
CollisionObject3D.MouseExited
Node3D.NotificationTransformChanged
Node3D.NotificationEnterWorld
Node3D.NotificationExitWorld
Node3D.NotificationVisibilityChanged
Node3D.NotificationLocalTransformChanged
Node3D.GetParentNode3D()
Node3D.IsScaleDisabled()
Node3D.GetWorld3D()
Node3D.ForceUpdateTransform()
Node3D.UpdateGizmos()
Node3D.AddGizmo(Node3DGizmo)
Node3D.GetGizmos()
Node3D.ClearGizmos()
Node3D.ClearSubgizmoSelection()
Node3D.IsVisibleInTree()
Node3D.Show()
Node3D.Hide()
Node3D.IsLocalTransformNotificationEnabled()
Node3D.IsTransformNotificationEnabled()
Node3D.GlobalScale(Vector3)
Node3D.GlobalTranslate(Vector3)
Node3D.ScaleObjectLocal(Vector3)
Node3D.TranslateObjectLocal(Vector3)
Node3D.Translate(Vector3)
Node3D.Orthonormalize()
Node3D.SetIdentity()
Node3D.ToLocal(Vector3)
Node3D.ToGlobal(Vector3)
Node3D.Transform
Node3D.GlobalTransform
Node3D.Position
Node3D.Rotation
Node3D.RotationDegrees
Node3D.Quaternion
Node3D.Basis
Node3D.Scale
Node3D.RotationEditMode
Node3D.RotationOrder
Node3D.TopLevel
Node3D.GlobalPosition
Node3D.GlobalRotation
Node3D.GlobalRotationDegrees
Node3D.Visible
Node3D.VisibilityParent
Node3D.VisibilityChanged
Node.NotificationEnterTree
Node.NotificationExitTree
Node.NotificationMovedInParent
Node.NotificationReady
Node.NotificationPaused
Node.NotificationUnpaused
Node.NotificationPhysicsProcess
Node.NotificationProcess
Node.NotificationParented
Node.NotificationUnparented
Node.NotificationSceneInstantiated
Node.NotificationDragBegin
Node.NotificationDragEnd
Node.NotificationPathRenamed
Node.NotificationChildOrderChanged
Node.NotificationInternalProcess
Node.NotificationInternalPhysicsProcess
Node.NotificationPostEnterTree
Node.NotificationDisabled
Node.NotificationEnabled
Node.NotificationNodeRecacheRequested
Node.NotificationEditorPreSave
Node.NotificationEditorPostSave
Node.NotificationWMMouseEnter
Node.NotificationWMMouseExit
Node.NotificationWMWindowFocusIn
Node.NotificationWMWindowFocusOut
Node.NotificationWMCloseRequest
Node.NotificationWMGoBackRequest
Node.NotificationWMSizeChanged
Node.NotificationWMDpiChange
Node.NotificationVpMouseEnter
Node.NotificationVpMouseExit
Node.NotificationOsMemoryWarning
Node.NotificationTranslationChanged
Node.NotificationWMAbout
Node.NotificationCrash
Node.NotificationOsImeUpdate
Node.NotificationApplicationResumed
Node.NotificationApplicationPaused
Node.NotificationApplicationFocusIn
Node.NotificationApplicationFocusOut
Node.NotificationTextServerChanged
Node.GetNode<T>(NodePath)
Node.GetNodeOrNull<T>(NodePath)
Node.GetOwner<T>()
Node.GetOwnerOrNull<T>()
Node.GetParent<T>()
Node.GetParentOrNull<T>()
Node._EnterTree()
Node._ExitTree()
Node._GetConfigurationWarnings()
Node._Input(InputEvent)
Node._ShortcutInput(InputEvent)
Node._UnhandledInput(InputEvent)
Node._UnhandledKeyInput(InputEvent)
Node.PrintOrphanNodes()
Node.RemoveChild(Node)
Node.HasNode(NodePath)
Node.GetNode(NodePath)
Node.GetNodeOrNull(NodePath)
Node.GetParent()
Node.HasNodeAndResource(NodePath)
Node.GetNodeAndResource(NodePath)
Node.IsInsideTree()
Node.IsAncestorOf(Node)
Node.IsGreaterThan(Node)
Node.GetPath()
Node.RemoveFromGroup(StringName)
Node.IsInGroup(StringName)
Node.GetGroups()
Node.PrintTree()
Node.PrintTreePretty()
Node.GetPhysicsProcessDeltaTime()
Node.IsPhysicsProcessing()
Node.GetProcessDeltaTime()
Node.IsProcessing()
Node.IsProcessingInput()
Node.IsProcessingShortcutInput()
Node.IsProcessingUnhandledInput()
Node.IsProcessingUnhandledKeyInput()
Node.CanProcess()
Node.IsDisplayedFolded()
Node.IsProcessingInternal()
Node.IsPhysicsProcessingInternal()
Node.GetWindow()
Node.GetLastExclusiveWindow()
Node.GetTree()
Node.CreateTween()
Node.GetSceneInstanceLoadPlaceholder()
Node.IsEditableInstance(Node)
Node.GetViewport()
Node.QueueFree()
Node.RequestReady()
Node.IsNodeReady()
Node.GetMultiplayerAuthority()
Node.IsMultiplayerAuthority()
Node.RpcConfig(StringName, Variant)
Node.Rpc(StringName, params Variant[])
Node.UpdateConfigurationWarnings()
Node.CallDeferredThreadGroup(StringName, params Variant[])
Node.SetDeferredThreadGroup(StringName, Variant)
Node.CallThreadSafe(StringName, params Variant[])
Node.SetThreadSafe(StringName, Variant)
Node._ImportPath
Node.Name
Node.UniqueNameInOwner
Node.SceneFilePath
Node.Owner
Node.Multiplayer
Node.ProcessMode
Node.ProcessPriority
Node.ProcessPhysicsPriority
Node.ProcessThreadGroup
Node.ProcessThreadGroupOrder
Node.ProcessThreadMessages
Node.EditorDescription
Node.Ready
Node.Renamed
Node.TreeEntered
Node.TreeExiting
Node.TreeExited
Node.ChildEnteredTree
Node.ChildExitingTree
Node.ChildOrderChanged
Node.ReplacingBy
GodotObject.NotificationPostinitialize
GodotObject.NotificationPredelete
GodotObject.NativeInstance
GodotObject.ScriptChanged
GodotObject.PropertyListChanged
Extension Methods

Fields

_autoSelectObjects

Whether or not to select ISelectable objects automatically.

[Export(PropertyHint.None, "")]
private bool _autoSelectObjects

Field Value

bool

_derivedPosition

A node that this should derive it's position from for distance based calculations

[Export(PropertyHint.None, "")]
private Node3D _derivedPosition

Field Value

Node3D

_timer

private Timer _timer

Field Value

Timer

backing_OnCurrentInteractionChange

private InteractionSensor.OnCurrentInteractionChangeEventHandler backing_OnCurrentInteractionChange

Field Value

InteractionSensor.OnCurrentInteractionChangeEventHandler

Properties

CurrentInteraction

The currently available interaction object, or null if none are present.

public Node3D CurrentInteraction { get; private set; }

Property Value

Node3D

Methods

GetGodotSignalList()

internal static List<MethodInfo> GetGodotSignalList()

Returns

List<MethodInfo>

OnAreaEnter(Area3D)

private void OnAreaEnter(Area3D _)

Parameters

_ Area3D

OnAreaExit(Area3D)

private void OnAreaExit(Area3D _)

Parameters

_ Area3D

OnBodyEnter(Node3D)

private void OnBodyEnter(Node3D _)

Parameters

_ Node3D

OnBodyExit(Node3D)

private void OnBodyExit(Node3D _)

Parameters

_ Node3D

RefreshCurrent()

public void RefreshCurrent()

_Ready()

Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their Godot.Node._Ready() callbacks get triggered first, and the parent node will receive the ready notification afterwards.

Corresponds to the Godot.Node.NotificationReady notification in _Notification(int). See also the @onready annotation for variables.

Usually used for initialization. For even earlier initialization, Godot.GodotObject.GodotObject() may be used. See also Godot.Node._EnterTree().

Note: Godot.Node._Ready() may be called only once for each node. After removing a node from the scene tree and adding it again, _ready will not be called a second time. This can be bypassed by requesting another call with Godot.Node.RequestReady(), which may be called anywhere before adding the node again.

public override void _Ready()

Events

OnCurrentInteractionChange

Signal that is emitted when the current interactable object changes

public event InteractionSensor.OnCurrentInteractionChangeEventHandler OnCurrentInteractionChange

Event Type

InteractionSensor.OnCurrentInteractionChangeEventHandler