Namespace Flexalon
Classes
Flex
Flexalon
Singleton class which tracks and updates all FlexalonNodes in the scene. See core concepts for more information.
FlexalonAlignLayout
Use a align layout to align all children to the parent on the specified axes. For example, use a align layout to place all children along a floor, wall, or edge.
Once aligned, you can adjust the position, rotation, or size of each child by editing the Offset, Rotation, Size, and Scale properties on that child's Flexalon Object Component.
FlexalonCircleLayout
Use a circle layout to position children along a circle or spiral.
FlexalonCloner
Sometimes, it's useful to generate child objects instead of defining them statically. The Flexalon Cloner can generate objects from a set of prefabs iteratively or randomly, and can optionally bind to a data source.
FlexalonComponent
Base type for many Flexalon components. Deals with FlexalonNode lifecycle, and provides the ForceUpdate and MarkDirty methods to trigger a Flexalon update.
FlexalonConstraint
The Flexalon Constraint component positions its gameObject relative to a target, which can be any other gameObject. The constrained object or the target can also have layout components, which provides a powerful way to combine layouts together.
FlexalonCurveAnimator
The curve animator applies a curve the the position, rotation, and scale of the object. The curve is restarted each time the layout position changes. This is ideal for scenarios in which the layout position does not change often.
FlexalonCurveLayout
Use a curve layout to position children along a bézier curve.
FlexalonDragTarget
A drag target allows a layout to accept dragged FlexalonInteractable objects.
FlexalonFlexibleLayout
Use a flexible layout to position children linearly along the x, y, or z axis. The sizes of the children are considered so that they are evenly spaced.
FlexalonGridCell
Specifies which cell a gameObject should occupy in a grid layout.
FlexalonGridLayout
Use a grid layout to position children at fixed intervals. Objects are placed in cells in column-row-layer order.
FlexalonInteractable
Allows a gameObject to be clicked and dragged.
FlexalonInteractable.InteractableEvent
An event that occurs to a FlexalonInteractable.
FlexalonLerpAnimator
The lerp animator constnatly performs a linear interpolation between the object's current position and its layout position. This is useful if the layout position is continuously changing.
FlexalonMouseInputProvider
Simple input provider that uses the mouse for input.
FlexalonObject
To control the size of an object, add a Flexalon Object component to it and edit the width, height, or depth properties.
FlexalonRandomLayout
Use a random layout to position, rotate, and size children randomly within bounds.
FlexalonRandomModifier
The Flexalon Random Modifier component can be added to any layout to randomly modify the positions and rotations of the children.
FlexalonResult
This component is added to each object in a layout. It stores the results of the layout process so they can be loaded from a scene/prefab without rerunning layout.
FlexalonRigidBodyAnimator
If you add a Rigid Body or Rigid Body 2D component a gameObject which is managed by Flexalon, then the physics system will fight with Flexalon over the object's position and rotation. Adding a Rigid Body animator will resolve this by applying forces to the the rigid body component instead of changing the transform directly.
FlexalonShapeLayout
Use a shape layout to position children in a shape formation with a specified number of sides. The first child is placed in the center, and subsequent children are placed in concentric layers around the center, with each layer forming the desired shape.
FlexItem
LayoutBase
Base class for all layout componets. See custom layout for details on how to extend this class. Assigns the Layout method to FlexalonNode and keeps the node's children up to date.
Math
Common math help functions.
Structs
Directions
Six floats representing right, left, top, bottom, back, front.
FlexalonCurveLayout.CurvePoint
A point on the curve.
Interfaces
Adapter
Adapters determine how Flexalon measures other Unity components. See adapters documentation.
Constraint
A constraint runs whenever a target layout is updated.
DataBinding
When the Cloner creates objects from a DataSource, it will search the cloned objects for any component which implements DataBinding to bind the data entry from the data source to the visual item. The component can then use this data to change its appearance.
DataSource
Provides data for a FlexalonCloner.
FlexalonModifier
Interface for components that modify layout results.
FlexalonNode
Represents a node in the Flexalon layout tree.
InputProvider
Implement this interface and assign it to the Flexalon.InputProvider to override how FlexalonInteractables receive input.
Layout
A layout determines how the children of a node are positioned.
TransformUpdater
A transform updater determines how an object gets from its current position to the computed layout position.
Enums
Align
Represents a direction to align.
Axis
Represents an axis.
Direction
Represents an axis and direction.
FlexalonCircleLayout.InitialRadiusOptions
Determines the initial radius of the circle.
FlexalonCircleLayout.RadiusOptions
Determines if and how the radius changes.
FlexalonCircleLayout.RotateOptions
Determines how children should be rotated.
FlexalonCircleLayout.SpacingOptions
Determines how the space between children is distributed.
FlexalonCloner.CloneTypes
In which order should prefabs be cloned.
FlexalonCurveLayout.ExtendBehavior
Determines how the curve is extended before the beginning and after the end.
FlexalonCurveLayout.RotationOptions
Determines how children should be rotated
FlexalonCurveLayout.SpacingOptions
Determines how the children will be spaced along the curve.
FlexalonCurveLayout.TangentMode
Determines how the tangent for a CurvePoint is determined.
FlexalonFlexibleLayout.GapOptions
Determines how the space between children is distributed.
FlexalonGridLayout.CellSizeTypes
How to determine the size of the cell.
FlexalonGridLayout.CellTypes
The type of cell to use on the column-row axes.
FlexalonInteractable.InteractableState
The current state of the interactable.
FlexalonInteractable.RestrictionType
Restricts the movement of an object during a drag.
InputMode
MinMaxSizeType
Determines how a FlexalonObject min or max should be determined.
Plane
Represents a plane along two axes.
SizeType
Determines how a FlexalonObject should be sized.