Table of Contents

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.

DropdownItem
DropdownMenu

Configurable dropdown UI component supporting tween or Animator-based open/close, item selection, sounds, and optional state saving.

DropdownMenu.ItemTextChangedEvent
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.

FadeCanvasGroupPopupTweenParameters
FadeCanvasGroupTweenParameters
FadeSelectorInputFieldAnimator

Animator that fades placeholder and selector via UnityEngine.CanvasGroup.alpha on select/deselect.

FadeTween
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.

GradientAssetCollection
GradientCollectionData
HeadSpinner

Stylized head-and-body spinner that stretches and rotates a body towards a rotating head element.

ImageCollection
ImageCollectionData
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.

MovePopupTweenParameters
MoveTween
MoveTweenParameters
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

OffsetTween
OffsetTweenParameters

Tween parameters for animating RectTransform offsetMin and offsetMax values (Left, Right, Top, Bottom margins)

OnButtonClickedEvent

UnityEvent for button events

PanelData
PanelManager

Modular Panel Manager. Handles switching between panels with optional popup animations, editor-friendly preview, and button synchronization.

PanelManager.PanelChangeEvent
ParticleLocalSpawner
PopupTweenAnimator
PopupTweenParameters

Parameter container describing a single popup tween and its show/hide behavior.

PopupTweenParametersData<TTarget, TValue>
ProgressBar

A modular progress bar component with support for different fill types, directions, animations, and audio feedback.

ProgressBar.ProgressEvent
ProgressBar.ProgressValueEvent
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.

RotateTween
RotateTweenParameters
ScalePopupTweenParameters
ScaleTween
ScaleTweenParameters
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.

SelectableTransitionData<ISelectableDataStates, T>
SelectedIndexEvent
SelectedTextEvent
SelectionSpriteState
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.

SimpleUIParticle
SizePopupTweenParameters

Popup tween parameters for animating RectTransform sizeDelta values with separate show and hide values

SizeTween
SizeTweenParameters

Tween parameters for animating RectTransform sizeDelta values (Width and Height)

Slider
Slider.SliderEvent
SpinnerEvent
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.

SwappableSprite
SwitchEvent
TemplatesProvider

ScriptableObject registry that stores references to available IDataTemplate assets.

TextSwapAnimator
TextTweenAnimator
TintGraphicPopupTweenParameters

Popup tween parameters for animating Graphic color values with show/hide states

TintGraphicTweenParameters

Tween parameters for animating Graphic color values

TintTween
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.

TweenParametersData<TTarget, TValue>
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.

UISpinner

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
SelectionColorBlock

Interfaces

IAssetCollection<TType>
IBasicData

Base interface for data elements, which contain a name and an icon

IColorAssetCollection<T>
IColorAssetProvider
IColorSetter
IDataTemplate

Interface for data templates, which contain a list of elements

IDropdownAnimationHandler
IDropdownMenu
IGradientAssetProvider
IGroupSelectable

Interface for elements that can be part of a group

IInputFieldAnimator
IMultiSelectable

Defines the contract for UI controls that support multiple coordinated graphic transitions (color tinting, sprite swapping, and CanvasGroup fading).

IMultipleClicksHandler
IOnClickEffect
IPopupTweenAnimator
IPopupTweenParameters
IPopupTweenParametersData<TTarget, TValue>
ISaveable
ISelectableStates<T>
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.

ITargetGraphic
ITargetableTween<TTarget, TParameter>
ITemplatesProvider

Interface for the templates provider, which contains a list of available templates

ITween
ITweenAnimator
ITweenBasicParameters
ITweenParameters
ITweenParametersData<TTarget, TValue>
ITweenTargetData<TTarget>

Enums

AnimationType
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.

ColorizingType
ContextItemType

Types of items that can appear inside a context menu.

DropdownDirection
ElementStartPosition
FacingDirection
FadeTargetType

Target types supported by fade tweens.

LinearSlider.FillType
LinearSlider.SliderDirection
LoopType

Looping behavior for tween playback.

ModularModalWindow.ContentType
ModularModalWindow.StateBehaviour
PanelPosition

Predefined panel placement presets relative to the screen or an anchor.

ParticleLocalSpawner.RandomizationMode
ParticleLocalSpawner.RotationDirection
ParticleLocalSpawner.SpriteSelectionMode
ProgressBar.AnimationType
ProgressBar.FillType
ProgressBar.ProgressDirection
ProgressBar.TextDisplayMode
RadialSlider.FillDirection
SelectableTransition

An enumeration of transition modes for a selectable object.

SelectionState

An enumeration of selected states of objects

Slider.SliderAxis
SpinningType
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.

TextSwapAnimator.LoopType
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.