InputActionSchemeBindingsDrawer

Odin property drawer for InputActionSchemeBindings. Renders the bindings collection as a foldable box containing labeled entries for each action map, with each entry drawn by InputActionMapBindingDrawer.

Definition

Namespace: Paragon.Core.InputSystem.Editor Assembly: Paragon.Editor.dll

[DrawerPriority(DrawerPriorityLevel.SuperPriority)]
public class InputActionSchemeBindingsDrawer : ParagonDrawer<InputActionSchemeBindings>

Inherits: ParagonDrawer<InputActionSchemeBindings>OdinValueDrawer<InputActionSchemeBindings> Attribute: [DrawerPriority(DrawerPriorityLevel.SuperPriority)]

Remarks

This drawer renders the InputActionSchemeBindings collection as a structured box layout:

  1. Box header with a foldout labeled from the parent property (typically "Bindings")

  2. Vertical toolbar body containing each binding entry from the internal bindings dictionary

Each entry in the dictionary is a key-value pair of (string actionMapName, InputActionMapBinding binding). The drawer extracts the action map name from the key (Children[0]) and passes it as a GUIContent label to the value property (Children[1]), which is drawn by InputActionMapBindingDrawer.

This creates the visual hierarchy:

[Bindings] (foldable box)
├── "Movement" → [polymorphic binding selector]
├── "Camera" → [polymorphic binding selector]
└── "UI" → [polymorphic binding selector]

Quick Lookup

Goal
How

Expand/collapse

Click the foldout arrow in the header

View individual bindings

Expand the box — each action map entry is listed

Assign a binding

Use the polymorphic field on each entry (handled by InputActionMapBindingDrawer)

Methods

DrawPropertyLayout

Main draw method. Renders the foldable box with all binding entries.

Parameter
Type
Description

label

GUIContent

Label from parent property

Behavior:

  1. Draws a box with a header containing a foldout

  2. If expanded, resolves the bindings child property from the Odin property tree

  3. Calls DrawBindings() to iterate and render each entry

DrawBindings (private)

Iterates over the bindings dictionary's child properties and renders each via DrawBinding().

DrawBinding (private)

Draws a single dictionary entry. Extracts the key (action map name) as a label and draws the value property (the InputActionMapBinding).

Behavior:

  • bindingProperty.Children[0] — the dictionary key (action map name string), used as label

  • bindingProperty.Children[1] — the dictionary value (InputActionMapBinding), drawn with the label

See Also

Last updated