Table of Contents

Class AccessibilityTab

Namespace
Squiggles.Core.Scenes.UI.Menus
Assembly
SquigglesCommon4X.dll

This is the "tab" for accessibility settings in the options menu. It stores all accessibility related features. These settings are reflected in the Access singleton. Also check there if you want more details on what the different settings are for

[ScriptPath("res://Core/Scenes/UI/Menus/OptionsTabs/AccessibilityTab.cs")]
public class AccessibilityTab : PanelContainer, IDisposable
Inheritance
GodotObject
Node
CanvasItem
Control
Container
PanelContainer
AccessibilityTab
Implements
Inherited Members
Container.NotificationPreSortChildren
Container.NotificationSortChildren
Container._GetAllowedSizeFlagsHorizontal()
Container._GetAllowedSizeFlagsVertical()
Container.QueueSort()
Container.FitChildInRect(Control, Rect2)
Container.PreSortChildren
Container.SortChildren
Control.NotificationResized
Control.NotificationMouseEnter
Control.NotificationMouseExit
Control.NotificationFocusEnter
Control.NotificationFocusExit
Control.NotificationThemeChanged
Control.NotificationScrollBegin
Control.NotificationScrollEnd
Control.NotificationLayoutDirectionChanged
Control._CanDropData(Vector2, Variant)
Control._DropData(Vector2, Variant)
Control._GetDragData(Vector2)
Control._GetMinimumSize()
Control._GetTooltip(Vector2)
Control._GuiInput(InputEvent)
Control._HasPoint(Vector2)
Control.AcceptEvent()
Control.GetMinimumSize()
Control.GetCombinedMinimumSize()
Control.SetBegin(Vector2)
Control.SetEnd(Vector2)
Control.ResetSize()
Control.GetBegin()
Control.GetEnd()
Control.GetParentAreaSize()
Control.GetScreenPosition()
Control.GetRect()
Control.GetGlobalRect()
Control.HasFocus()
Control.GrabFocus()
Control.ReleaseFocus()
Control.FindPrevValidFocus()
Control.FindNextValidFocus()
Control.BeginBulkThemeOverride()
Control.EndBulkThemeOverride()
Control.AddThemeIconOverride(StringName, Texture2D)
Control.AddThemeStyleboxOverride(StringName, StyleBox)
Control.AddThemeFontOverride(StringName, Font)
Control.AddThemeColorOverride(StringName, Color)
Control.RemoveThemeIconOverride(StringName)
Control.RemoveThemeStyleboxOverride(StringName)
Control.RemoveThemeFontOverride(StringName)
Control.RemoveThemeFontSizeOverride(StringName)
Control.RemoveThemeColorOverride(StringName)
Control.RemoveThemeConstantOverride(StringName)
Control.GetThemeIcon(StringName, StringName)
Control.GetThemeStylebox(StringName, StringName)
Control.GetThemeFont(StringName, StringName)
Control.GetThemeFontSize(StringName, StringName)
Control.GetThemeColor(StringName, StringName)
Control.GetThemeConstant(StringName, StringName)
Control.HasThemeIconOverride(StringName)
Control.HasThemeStyleboxOverride(StringName)
Control.HasThemeFontOverride(StringName)
Control.HasThemeFontSizeOverride(StringName)
Control.HasThemeColorOverride(StringName)
Control.HasThemeConstantOverride(StringName)
Control.HasThemeIcon(StringName, StringName)
Control.HasThemeStylebox(StringName, StringName)
Control.HasThemeFont(StringName, StringName)
Control.HasThemeFontSize(StringName, StringName)
Control.HasThemeColor(StringName, StringName)
Control.HasThemeConstant(StringName, StringName)
Control.GetThemeDefaultBaseScale()
Control.GetThemeDefaultFont()
Control.GetThemeDefaultFontSize()
Control.GetParentControl()
Control.GetTooltip(Vector2?)
Control.GetCursorShape(Vector2?)
Control.ForceDrag(Variant, Control)
Control.GrabClickFocus()
Control.SetDragForwarding(Callable, Callable, Callable)
Control.SetDragPreview(Control)
Control.IsDragSuccessful()
Control.WarpMouse(Vector2)
Control.UpdateMinimumSize()
Control.IsLayoutRtl()
Control.ClipContents
Control.CustomMinimumSize
Control.LayoutDirection
Control.LayoutMode
Control.AnchorsPreset
Control.AnchorLeft
Control.AnchorTop
Control.AnchorRight
Control.AnchorBottom
Control.OffsetLeft
Control.OffsetTop
Control.OffsetRight
Control.OffsetBottom
Control.GrowHorizontal
Control.GrowVertical
Control.Size
Control.Position
Control.GlobalPosition
Control.Rotation
Control.RotationDegrees
Control.Scale
Control.PivotOffset
Control.SizeFlagsHorizontal
Control.SizeFlagsVertical
Control.SizeFlagsStretchRatio
Control.AutoTranslate
Control.LocalizeNumeralSystem
Control.TooltipText
Control.FocusNeighborLeft
Control.FocusNeighborTop
Control.FocusNeighborRight
Control.FocusNeighborBottom
Control.FocusNext
Control.FocusPrevious
Control.FocusMode
Control.MouseFilter
Control.MouseForcePassScrollEvents
Control.MouseDefaultCursorShape
Control.ShortcutContext
Control.Theme
Control.ThemeTypeVariation
Control.Resized
Control.GuiInput
Control.MouseEntered
Control.MouseExited
Control.FocusEntered
Control.FocusExited
Control.SizeFlagsChanged
Control.MinimumSizeChanged
Control.ThemeChanged
CanvasItem.NotificationTransformChanged
CanvasItem.NotificationLocalTransformChanged
CanvasItem.NotificationDraw
CanvasItem.NotificationVisibilityChanged
CanvasItem.NotificationEnterCanvas
CanvasItem.NotificationExitCanvas
CanvasItem.NotificationWorld2DChanged
CanvasItem._Draw()
CanvasItem.GetCanvasItem()
CanvasItem.IsVisibleInTree()
CanvasItem.Show()
CanvasItem.Hide()
CanvasItem.QueueRedraw()
CanvasItem.MoveToFront()
CanvasItem.DrawTexture(Texture2D, Vector2, Color?)
CanvasItem.DrawLcdTextureRectRegion(Texture2D, Rect2, Rect2, Color?)
CanvasItem.DrawStyleBox(StyleBox, Rect2)
CanvasItem.DrawPrimitive(Vector2[], Color[], Vector2[], Texture2D)
CanvasItem.DrawPolygon(Vector2[], Color[], Vector2[], Texture2D)
CanvasItem.DrawColoredPolygon(Vector2[], Color, Vector2[], Texture2D)
CanvasItem.DrawMesh(Mesh, Texture2D, Transform2D?, Color?)
CanvasItem.DrawMultimesh(MultiMesh, Texture2D)
CanvasItem.DrawSetTransformMatrix(Transform2D)
CanvasItem.DrawEndAnimation()
CanvasItem.GetTransform()
CanvasItem.GetGlobalTransform()
CanvasItem.GetGlobalTransformWithCanvas()
CanvasItem.GetViewportTransform()
CanvasItem.GetViewportRect()
CanvasItem.GetCanvasTransform()
CanvasItem.GetScreenTransform()
CanvasItem.GetLocalMousePosition()
CanvasItem.GetGlobalMousePosition()
CanvasItem.GetCanvas()
CanvasItem.GetWorld2D()
CanvasItem.IsLocalTransformNotificationEnabled()
CanvasItem.IsTransformNotificationEnabled()
CanvasItem.ForceUpdateTransform()
CanvasItem.MakeCanvasPositionLocal(Vector2)
CanvasItem.MakeInputLocal(InputEvent)
CanvasItem.Visible
CanvasItem.Modulate
CanvasItem.SelfModulate
CanvasItem.ShowBehindParent
CanvasItem.TopLevel
CanvasItem.ClipChildren
CanvasItem.LightMask
CanvasItem.VisibilityLayer
CanvasItem.ZIndex
CanvasItem.ZAsRelative
CanvasItem.YSortEnabled
CanvasItem.TextureFilter
CanvasItem.TextureRepeat
CanvasItem.Material
CanvasItem.UseParentMaterial
CanvasItem.Draw
CanvasItem.VisibilityChanged
CanvasItem.Hidden
CanvasItem.ItemRectChanged
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._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

Remarks

One of the goals for this framework is to have a large number of accessibility features available out of the box so devs can make their games more accessible. That being said, I led you to the water. Are you gonna drink anytime soon? (or maybe you have already, in that case you get soft headpats XOXO)

In the before times (QueenOfSquiggles's "Where The Dead Lie") the options menu was actually a tab container. However that style was incredibly bulky and required a ton of workarounds to ensure full gamepad support.

Fields

_checkAlwaysShowReticle

The checkbox for always showing the reticle.

[Export(PropertyHint.None, "")]
private CheckBox _checkAlwaysShowReticle

Field Value

CheckBox

_checkboxNoFlashingLights

The checkbox for preventing flashing lights. This does require developer implementation, but it is easily provided in Access

[Export(PropertyHint.None, "")]
private CheckBox _checkboxNoFlashingLights

Field Value

CheckBox

Remarks

This feature is built in by default as I usually make horror games and one of my biggest pet peeve is horror game devs that have no consideration for accessibility. I have several family members who are susceptible to seizures and one of them even is a huge fan of horror. So this is a not so subtle way to encourage horror game developers (or really any dev) to either reconsider whether they actually need flashing lights to make their game "scary", or at least implement it in a way that allows those with sensitivities to protect themselves. Video Games are a lot like BDSM, things get really bad really quick if both parties are consenting to what's happening.

_optionFont

The option button (combo box is more familair to me LOL) for which font to use.

[Export(PropertyHint.None, "")]
private OptionButton _optionFont

Field Value

OptionButton

_requiresReload

private bool _requiresReload

Field Value

bool

_sliderGUIScale

The slider for the GUI scale

[Export(PropertyHint.None, "")]
private Slider _sliderGUIScale

Field Value

Slider

_sliderMaxVolume

The slider for the volume limiter

[Export(PropertyHint.None, "")]
private Slider _sliderMaxVolume

Field Value

Slider

_sliderRumbleDuration

the slider for the rumble duration limiter

[Export(PropertyHint.None, "")]
private Slider _sliderRumbleDuration

Field Value

Slider

_sliderRumbleStrength

The slider for the rumble strength limiter

[Export(PropertyHint.None, "")]
private Slider _sliderRumbleStrength

Field Value

Slider

_sliderScreenShakeDuration

The slider for the screen shake duration limiter

[Export(PropertyHint.None, "")]
private Slider _sliderScreenShakeDuration

Field Value

Slider

_sliderScreenShakeStrength

The slider for the screen shake strength limiter

[Export(PropertyHint.None, "")]
private Slider _sliderScreenShakeStrength

Field Value

Slider

_sliderTimeScale

The slider for the engine time scale

[Export(PropertyHint.None, "")]
private Slider _sliderTimeScale

Field Value

Slider

Methods

ApplyChanges()

public void ApplyChanges()

OnAlwaysShowReticleToggled(bool)

private void OnAlwaysShowReticleToggled(bool buttonPressed)

Parameters

buttonPressed bool

OnFontSelected(long)

private void OnFontSelected(long index)

Parameters

index long

OnNoFlashingLightsChanged(bool)

private void OnNoFlashingLightsChanged(bool do_no_flashing_lights)

Parameters

do_no_flashing_lights bool

SetEngineTimeScale(double)

private void SetEngineTimeScale(double value)

Parameters

value double

SetGUIScale(double)

private void SetGUIScale(double value)

Parameters

value double

SetMaxAudio(double)

private void SetMaxAudio(double value)

Parameters

value double

SetMaxRumbleDuration(double)

private void SetMaxRumbleDuration(double value)

Parameters

value double

SetMaxScreenShakeDuration(double)

private void SetMaxScreenShakeDuration(double value)

Parameters

value double

SetRumbleStrength(double)

private void SetRumbleStrength(double value)

Parameters

value double

SetScreenShakeStrength(double)

private void SetScreenShakeStrength(double value)

Parameters

value double

_ExitTree()

Called when the node is about to leave the Godot.SceneTree (e.g. upon freeing, scene changing, or after calling Godot.Node.RemoveChild(Godot.Node) in a script). If the node has children, its Godot.Node._ExitTree() callback will be called last, after all its children have left the tree.

Corresponds to the Godot.Node.NotificationExitTree notification in _Notification(int) and signal Godot.Node.TreeExiting. To get notified when the node has already left the active tree, connect to the Godot.Node.TreeExited.

public override void _ExitTree()

_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()