Namespace Fallencake.UI
Classes
- AnimatedImageScroller
Drives continuous UV scrolling for a collection of ScrollableImage items.
- AtomSpinner
Stylized loading spinner composed of multiple orbital elements configured by AtomSpinnerParameters.
- AtomSpinnerParameters
Parameter bundle for configuring a single atom spinner element and its orbit.
- AxialSpinnerHandler
Axial spinner handler that positions elements along an axis and rotates them around their centers.
- BaseSelector
Base component for selectable UI controls that manage a list of items and synchronize labels, icons, indicators, animations, and saving behavior.
- BasicData
Base class for data elements, which contain a name and an icon
- Button
Modular, multi-graphic UI button with single- and double-click support, group selection behavior, and optional click ripple effects.
- CanvasGroupTweenExtensions
Helpers for animating UnityEngine.CanvasGroup visibility based on selectable SelectionState.
- ClickEffect
Base behaviour for transient click effects that animate an UnityEngine.UI.Image.
- ColorAssetCollection
Adapter around an IColorAssetProvider that exposes a collection-like API for selecting and animating colors across a set of UI assets.
- ColorCollectionData
ScriptableObject that stores a list of selectable colors for UI elements.
- ColorableCollection
Component for applying colors or gradients from collections to multiple UI assets with optional tinting.
- ColorableGraphic
Transition data for a UnityEngine.UI.Graphic using a SelectionColorBlock across selection states.
- ContextMenuArea
Click-capture area for a ModularContextMenu. Ensures a transparent UnityEngine.UI.Image is present to receive raycasts.
- ContextMenuBase
Base class for context menu implementations providing lifecycle, content management and popup animation orchestration via PopupTweenAnimator.
- ContextMenuItem
Data model for a single context menu item.
- ContextMenuItemView
Unified view/controller for a context menu item. Provides type-safe access to text, icon, and click subscription for both Unity UI Button and modular Button variants.
- ContextSubMenu
Submenu implementation that opens on hover or click depending on SubMenuBehaviour. Inherits base layout/animation behavior from ContextMenuBase.
- ContextSubMenuItem
Data model for a submenu child item.
- DataTemplate
ScriptableObject that stores a named collection of selectable data items for UI components (e.g., dropdowns, selectors).
- DraggableUI
Enables dragging of a target UnityEngine.RectTransform within a defined drag area. Provides events for drag lifecycle and optional bring-to-front behavior.
- DropdownEvent
Event invoked with the selected item index when the dropdown value changes.
- DropdownMenu
Configurable dropdown UI component supporting tween or Animator-based open/close, item selection, sounds, and optional state saving.
- DropdownTweenAnimatorHandler
Tween-based animation handler for DropdownMenu open/close using size/alpha interpolation.
- DropdownUnityAnimatorHandler
Animator-based dropdown animation handler. Plays named states on an UnityEngine.Animator.
- EllipticalSpinnerHandler
Elliptical geometry spinner handler that positions elements along an ellipse and moves/rotates them tangentially over time.
- FadeSelectorInputFieldAnimator
Animator that fades placeholder and selector via UnityEngine.CanvasGroup.alpha on select/deselect.
- FillImageScroller
Specialized scroller that animates a fill by moving a UnityEngine.RectTransform's Y position according to a numeric value mapped between configurable minimum and maximum offsets.
- FillSelectorInputFieldAnimator
Animator that moves/scales placeholder and fills a selector UnityEngine.UI.Image on select.
- FrameSwapAnimator
Animated frame swapper that cycles through sprites with smooth fading transitions.
- HeadSpinner
Stylized head-and-body spinner that stretches and rotates a body towards a rotating head element.
- ImageIndicator
Represents a single indicator element with activated/deactivated states, background visibility and selection events for highlighting current step.
- InputFieldAnimator
Base animator for input field visual feedback. Handles select/deselect animations using tweened coroutines and exposes events for selection state changes.
- InputModuleAutoSwitcher
On scene start, if the project uses the new Input System only, replaces StandaloneInputModule with InputSystemUIInputModule and logs a message.
- JampingSpinner
Stylized jumping spinner that combines orbital movement with squash-and-stretch and shadow tweens.
- JampingSpinnerParameters
Configuration bundle for a jumping spinner element, its shadow and supporting tweeners.
- LineSelectorInputFieldAnimator
Animator that scales a selector line and adjusts placeholder pivot/scale to indicate focus.
- LinearSlider
Linear slider implementation supporting horizontal/vertical directions and two fill modes (Filled or Sliced).
- ModularAnimator
General-purpose animator that plays a list of tweens with optional loop policies and events.
- ModularContextMenu
A modular popup menu appears upon user interaction, such as a right-click mouse operation.
- ModularInputField
Modular wrapper over TMPro.TMP_InputField that adds animation hooks, audio feedback via IInputFieldAudioProvider and convenient submit handling.
- ModularModalWindow
Simple modal window with title, content, optional icon and confirm/cancel buttons. Supports animated show/hide via PopupTweenAnimator.
- ModularPopupAnimator
Animator for show/hide popup sequences using a list of PopupTweenParameters. Ensures completion callbacks fire with the longest tween of each phase.
- ModularSpinner
Configurable spinner control that delegates movement to a strategy handler and exposes a rich set of options for rotation geometry and behavior.
- ModularToggle
A modular toggle consisting of several graphic elements, like changeable background and handle.
- ModularToggleGroup
Group controller for ToggleBase elements. Ensures only one toggle is on at a time unless AllowSwitchOff is enabled.
- MultipleGraphicsSelectable
Base selectable that orchestrates transitions for multiple UI graphics when its selection state changes.
- OffsetPopupTweenParameters
Popup tween parameters for animating RectTransform offsetMin and offsetMax values with separate show and hide values
- OffsetTweenParameters
Tween parameters for animating RectTransform offsetMin and offsetMax values (Left, Right, Top, Bottom margins)
- OnButtonClickedEvent
UnityEvent for button events
- PanelManager
Modular Panel Manager. Handles switching between panels with optional popup animations, editor-friendly preview, and button synchronization.
- PopupTweenParameters
Parameter container describing a single popup tween and its show/hide behavior.
- ProgressBar
A modular progress bar component with support for different fill types, directions, animations, and audio feedback.
- RadialSlider
Radial slider implementation that maps value to 360° arc with configurable origin and clockwise/counterclockwise fill direction.
- RippleEffect
Expanding ripple click effect that scales an image and fades its color, destroying itself when complete.
- ScrollRectOptimizer
Optimizes ScrollRect performance by culling invisible items outside the viewport. Automatically activates/deactivates child elements based on their visibility in the view rectangle.
- ScrollableImage
Represents a scrollable texture bound to a UnityEngine.UI.RawImage. Manages UV offset over time to create a seamless scrolling effect.
- SelectableGroup
A group of selectable UI elements that manages selection state and interactions between buttons. Provides functionality for single/multiple selection modes and deselection behavior.
- Selector
Simple selector component that updates text, icons, layouts, and indicators based on the selected item.
- SelectorItem
Represents a single selectable item: a display name, optional icon, and a selection event.
- SimpleFPSCounter
Lightweight and precise FPS counter that updates a TMP_Text label at a fixed interval.
- Uses accumulated time and frame count for accurate FPS over the interval.
- Updates text infrequently to minimize allocations and UI rebuilds.
- Optionally sets Application.targetFrameRate.
- SimpleLayoutRebuilder
Component that provides methods to force rebuild layout groups when child elements change size. Solves the issue where layout groups don't update their arrangement when child elements resize.
- SimpleTweenAnimator
Simple Tween Animator class for handling basic tween animations.
- SizePopupTweenParameters
Popup tween parameters for animating RectTransform sizeDelta values with separate show and hide values
- SizeTweenParameters
Tween parameters for animating RectTransform sizeDelta values (Width and Height)
- SpinnerHandler
Base implementation of ISpinnerHandler that manages a set of UISpinner wrappers and coordinates their start/stop, timing and layout queries.
- SwappableCanvasGroup
Class that stores the state of CanvasGroups transitions on a Selectable.
- TemplatesProvider
ScriptableObject registry that stores references to available IDataTemplate assets.
- TintGraphicPopupTweenParameters
Popup tween parameters for animating Graphic color values with show/hide states
- TintGraphicTweenParameters
Tween parameters for animating Graphic color values
- ToggleBase
Base toggle control that encapsulates toggle state, events and saving logic. Inherits from MultipleGraphicsSelectable to reuse transition and target graphics system.
- ToggleGraphic
Describes a target Graphic and its on/off colors to be animated with the toggle state.
- ToggleTweenAnimator
Animator that plays separate tween sets for ON and OFF states and provides helpers to invert and stop.
- TweenAnimator
Base class for simple tween animators that orchestrate a list of tweens.
- TweenAnimatorBase
Base MonoBehaviour providing common tween playback helpers and loop handling for UI animators.
- TweenBase<TTarget, TParameter>
Generic base for strongly-typed tweens that animate a target from a start value to an end value.
- TweenExtensions
Collection of coroutine-based tween helpers for common UI and transform animations.
- TweenParameters
Parameter container describing a single basic tween (non-popup) and its easing/duration.
- UIGradient
Mesh effect that applies a color UnityEngine.Gradient to a UnityEngine.UI.Graphic, with horizontal or vertical direction, optional vertex splitting, and blend modes.
Structs
- OffsetValues
Represents offset values for RectTransform margins offsetMin controls Left and Bottom margins offsetMax controls Right and Top margins
- SecondaryBarTrigger
Represents a trigger pair for secondary progress bar in custom triggers mode. When the primary bar reaches 'primaryValue', the secondary bar should display 'secondaryValue'. The delay between primary and secondary bar updates is controlled by _secondaryBarDelay:
- Positive delay: primary bar updates first, then secondary bar after delay
- Negative delay: secondary bar updates first, then primary bar after delay
- Zero delay: both bars update simultaneously
Interfaces
- IBasicData
Base interface for data elements, which contain a name and an icon
- IDataTemplate
Interface for data templates, which contain a list of elements
- IGroupSelectable
Interface for elements that can be part of a group
- IMultiSelectable
Defines the contract for UI controls that support multiple coordinated graphic transitions (color tinting, sprite swapping, and CanvasGroup fading).
- ISlider
Minimal slider contract exposing current value and bounds with a formatted display value.
- ISpinner
Contract for spinner-like UI components that can start and stop animated rotation.
- ISpinnerHandler
Strategy interface that drives spinning behavior for ModularSpinner. Provides geometry, timing and element control APIs used by concrete handlers.
- ITemplatesProvider
Interface for the templates provider, which contains a list of available templates
Enums
- CameraSource
Specifies the camera source to use for UI interaction/rendering in the context menu system.
- ClickEffectUpdateMode
Update timing used by the click ripple effect.
- ContextItemType
Types of items that can appear inside a context menu.
- FadeTargetType
Target types supported by fade tweens.
- LoopType
Looping behavior for tween playback.
- PanelPosition
Predefined panel placement presets relative to the screen or an anchor.
- SelectableTransition
An enumeration of transition modes for a selectable object.
- SelectionState
An enumeration of selected states of objects
- SubMenuBehaviour
Defines how a submenu is revealed from a parent menu item.
- SwitchDirection
Defines how the toggle handle should move when switching. None: no movement (useful for radio buttons); Horizontal: left-right movement (default); Vertical: up-down movement.
- TweenType
Types of built-in tweens supported by the tween system.
- UIGradient.ColorBlendMode
How gradient color blends with original vertex color.
- UIGradient.GradientType
Supported gradient directions.