Interface FlexalonNode
Represents a node in the Flexalon layout tree.
Syntax
public interface FlexalonNode
Properties
Adapter
Returns the active adapter for this node.
Declaration
Adapter Adapter { get; }
Property Value
Type | Description |
---|---|
Adapter |
Children
The children of this layout node.
Declaration
IReadOnlyList<FlexalonNode> Children { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<T><FlexalonNode> |
Constraint
Returns the constraint of this node.
Declaration
Constraint Constraint { get; }
Property Value
Type | Description |
---|---|
Constraint |
Dirty
True if this node is dirty.
Declaration
bool Dirty { get; }
Property Value
Type | Description |
---|---|
bool |
FlexalonObject
Returns the FlexalonObject of this node.
Declaration
FlexalonObject FlexalonObject { get; }
Property Value
Type | Description |
---|---|
FlexalonObject |
GameObject
The GameObject associated with this node.
Declaration
GameObject GameObject { get; }
Property Value
Type | Description |
---|---|
UnityEngine.GameObject |
HasFlexalonObject
Returns true if FlexalonObject is set.
Declaration
bool HasFlexalonObject { get; }
Property Value
Type | Description |
---|---|
bool |
HasResult
Has layout ever run on this node?
Declaration
bool HasResult { get; }
Property Value
Type | Description |
---|---|
bool |
Index
The index of this node in its parent's Children list.
Declaration
int Index { get; }
Property Value
Type | Description |
---|---|
int |
IsDragging
True when this node is being dragged.
Declaration
bool IsDragging { get; set; }
Property Value
Type | Description |
---|---|
bool |
Margin
Returns the assigned margin of this node.
Declaration
Directions Margin { get; }
Property Value
Type | Description |
---|---|
Directions |
Method
Returns the layout method of this node.
Declaration
Layout Method { get; }
Property Value
Type | Description |
---|---|
Layout |
Modifiers
Returns the set of modifiers that apply to layout results.
Declaration
IReadOnlyList<FlexalonModifier> Modifiers { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<T><FlexalonModifier> |
Offset
Returns the assigned offset of this node relative to its layout position.
Declaration
Vector3 Offset { get; }
Property Value
Type | Description |
---|---|
UnityEngine.Vector3 |
Padding
Returns the assigned padding of this node.
Declaration
Directions Padding { get; }
Property Value
Type | Description |
---|---|
Directions |
Parent
The parent layout node of this node.
Declaration
FlexalonNode Parent { get; }
Property Value
Type | Description |
---|---|
FlexalonNode |
Result
Returns the result of the last layout run.
Declaration
FlexalonResult Result { get; }
Property Value
Type | Description |
---|---|
FlexalonResult |
Rotation
Returns the assigned relative rotation of this node.
Declaration
Quaternion Rotation { get; }
Property Value
Type | Description |
---|---|
UnityEngine.Quaternion |
Scale
Returns the assigned relative scale of this node.
Declaration
Vector3 Scale { get; }
Property Value
Type | Description |
---|---|
UnityEngine.Vector3 |
Size
Returns the assigned fixed size of this node.
Declaration
Vector3 Size { get; }
Property Value
Type | Description |
---|---|
UnityEngine.Vector3 |
SizeOfParent
Returns the assigned size factor of this node relative to the available space.
Declaration
Vector3 SizeOfParent { get; }
Property Value
Type | Description |
---|---|
UnityEngine.Vector3 |
SkipLayout
True when this node should not skipped when performing layout.
Declaration
bool SkipLayout { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
AddChild(FlexalonNode)
Adds a child to this layout node.
Declaration
void AddChild(FlexalonNode child)
Parameters
Type | Name | Description |
---|---|---|
FlexalonNode | child | The child to add. |
AddModifier(FlexalonModifier)
Adds a modifier to this node.
Declaration
void AddModifier(FlexalonModifier modifier)
Parameters
Type | Name | Description |
---|---|---|
FlexalonModifier | modifier |
ApplyScaleAndRotation()
Only applies rotation and scale changes to the node. Faster than marking it dirty.
Declaration
void ApplyScaleAndRotation()
CanShrink(int)
Returns true if this node is not filling this axis and has a min size set.
Declaration
bool CanShrink(int axis)
Parameters
Type | Name | Description |
---|---|---|
int | axis |
Returns
Type | Description |
---|---|
bool |
Detach()
Removes this node from its parent layout node.
Declaration
void Detach()
DetachAllChildren()
Removes all children from this layout node.
Declaration
void DetachAllChildren()
ForceUpdate()
Forces this node, its parent nodes, and its children nodes to update immediately.
Declaration
void ForceUpdate()
GetArrangeSize()
Returns the computed size of this node during the arrange step.
Declaration
Vector3 GetArrangeSize()
Returns
Type | Description |
---|---|
UnityEngine.Vector3 |
GetChild(int)
Returns the child of this layout node.
Declaration
FlexalonNode GetChild(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the child to return. |
Returns
Type | Description |
---|---|
FlexalonNode | The child at the given index. |
GetMaxSize(int, float)
Returns the max size of this node, including margin.
Declaration
float GetMaxSize(int axis, float parentSize)
Parameters
Type | Name | Description |
---|---|---|
int | axis | |
float | parentSize |
Returns
Type | Description |
---|---|
float |
GetMeasureSize(int, float)
Returns the computed size of this node during the measure step.
Declaration
float GetMeasureSize(int axis, float layoutSize)
Parameters
Type | Name | Description |
---|---|---|
int | axis | |
float | layoutSize |
Returns
Type | Description |
---|---|
float |
GetMeasureSize(Vector3)
Returns the computed size of this node during the measure step.
Declaration
Vector3 GetMeasureSize(Vector3 layoutSize)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Vector3 | layoutSize |
Returns
Type | Description |
---|---|
UnityEngine.Vector3 |
GetMinSize(int, float)
Returns the min size of this node, including margin.
Declaration
float GetMinSize(int axis, float parentSize)
Parameters
Type | Name | Description |
---|---|---|
int | axis | |
float | parentSize |
Returns
Type | Description |
---|---|
float |
GetMinSize(Vector3)
Returns the min size of this node, including margin.
Declaration
Vector3 GetMinSize(Vector3 parentSize)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Vector3 | parentSize |
Returns
Type | Description |
---|---|
UnityEngine.Vector3 |
GetSizeType(Axis)
Returns the assigned SizeType of this node.
Declaration
SizeType GetSizeType(Axis axis)
Parameters
Type | Name | Description |
---|---|---|
Axis | axis | The axis to get the SizeType of. |
Returns
Type | Description |
---|---|
SizeType | The SizeType of the given axis. |
GetSizeType(int)
Returns the assigned SizeType of this node.
Declaration
SizeType GetSizeType(int axis)
Parameters
Type | Name | Description |
---|---|---|
int | axis | The axis to get the SizeType of. |
Returns
Type | Description |
---|---|
SizeType | The SizeType of the given axis. |
GetWorldBoxPosition(Vector3, bool)
Returns the world position of the layout box. Used for gizmos.
Declaration
Vector3 GetWorldBoxPosition(Vector3 scale, bool includePadding)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Vector3 | scale | |
bool | includePadding |
Returns
Type | Description |
---|---|
UnityEngine.Vector3 |
GetWorldBoxScale(bool)
Returns the world scale of the layout box. Used for gizmos.
Declaration
Vector3 GetWorldBoxScale(bool includeLocalScale)
Parameters
Type | Name | Description |
---|---|---|
bool | includeLocalScale |
Returns
Type | Description |
---|---|
UnityEngine.Vector3 |
InsertChild(FlexalonNode, int)
Inserts a child into this layout node.
Declaration
void InsertChild(FlexalonNode child, int index)
Parameters
Type | Name | Description |
---|---|---|
FlexalonNode | child | The child to insert. |
int | index | The index to insert the child at. |
MarkDirty()
Marks this node and its parents as dirty, so they will be updated by the Flexalon component.
Declaration
void MarkDirty()
RemoveModifier(FlexalonModifier)
Removes a modifier from this node.
Declaration
void RemoveModifier(FlexalonModifier modifier)
Parameters
Type | Name | Description |
---|---|---|
FlexalonModifier | modifier |
SetAdapter(Adapter)
Overrides the default adapter for this node.
Declaration
void SetAdapter(Adapter adapter)
Parameters
Type | Name | Description |
---|---|---|
Adapter | adapter |
SetConstraint(Constraint, FlexalonNode)
Constrains this node to the given target node.
Declaration
void SetConstraint(Constraint constraint, FlexalonNode target)
Parameters
Type | Name | Description |
---|---|---|
Constraint | constraint | |
FlexalonNode | target |
SetFlexalonObject(FlexalonObject)
Assigns a FlexalonObject to this node.
Declaration
void SetFlexalonObject(FlexalonObject obj)
Parameters
Type | Name | Description |
---|---|---|
FlexalonObject | obj |
SetMethod(Layout)
Assigns a layout method to this node.
Declaration
void SetMethod(Layout method)
Parameters
Type | Name | Description |
---|---|---|
Layout | method |
SetPositionResult(Vector3)
Set the position result from a layout arrange step.
Declaration
void SetPositionResult(Vector3 position)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Vector3 | position |
SetRotationResult(Quaternion)
Set the rotation result from a layout arrange step.
Declaration
void SetRotationResult(Quaternion quaternion)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Quaternion | quaternion |
SetShrinkFillSize(int, float, float, bool)
Sets the space a child should shrink or fill.
Declaration
void SetShrinkFillSize(int axis, float childSize, float layoutSize, bool includesSizeOfParent = false)
Parameters
Type | Name | Description |
---|---|---|
int | axis | |
float | childSize | |
float | layoutSize | |
bool | includesSizeOfParent |
SetShrinkFillSize(Vector3, Vector3, bool)
Sets the space a child should shrink or fill.
Declaration
void SetShrinkFillSize(Vector3 childSize, Vector3 layoutSize, bool includesSizeOfParent = false)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Vector3 | childSize | |
UnityEngine.Vector3 | layoutSize | |
bool | includesSizeOfParent |
SetTransformUpdater(TransformUpdater)
Assigns a transform updater to this node.
Declaration
void SetTransformUpdater(TransformUpdater updater)
Parameters
Type | Name | Description |
---|---|---|
TransformUpdater | updater |
Events
ResultChanged
Event invoked when layout results change.
Declaration
event Action<FlexalonNode> ResultChanged
Event Type
Type | Description |
---|---|
System.Action<T><FlexalonNode> |