Doloro GDK 22 .1.0 Beta
by Tauri Interactive
Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter Class Reference

Detailed Description

Base class for any GUi element that feature is indicating selection of some another element.

Immediately takes the AGUIElement.Size and AGUIElement.Position of FocusedElement when it's changed.

THe class can be inherited and overridden if new implementation of extra features.

Inheritance diagram for Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter:
Collaboration diagram for Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter:

Public Member Functions

override void OnElementGUI ()
 Call per each GUI event. More...
 
void Repaint ()
 Repaints element along with its children.
 
void RescanForParent ()
 Looking for parent element.
 
void Focus ()
 Focusing element.
 
void Unfocus ()
 Turning off focus from element and all the elements above in the stack.
 
void CallClick ()
 Simulates click above the element.
 
void CallContextMenu ()
 Simulates calling context menu over the element.
 
virtual bool IsChildOf (AGUIElement element)
 Checks is the element is a child of another element. More...
 
virtual void OnInput ()
 Handler that will be called for elements in input priority order. use to modify data along with input instead of using OnElementGUI. More...
 

Static Public Member Functions

static AGUIElement FindParentGUIElement (Transform element)
 Looking for parent GUI element. More...
 
static AGUIElement FindRoot (AGUIElement hierarchyElement)
 Looking for root element at the hierarchy branch. More...
 

Public Attributes

RectTransform content
 reference to content that will be managed.
 

Protected Member Functions

virtual IEnumerator NavigateToTarget ()
 Starting move to the center point of the FocusedElement. More...
 
virtual IEnumerator RescaleWithTargetRect ()
 Changing itself rect along with the FocusedElement rect. More...
 
override void OnPointerUp ()
 Redirecting click call to the FocusedElement. More...
 
override void OnContextMenu ()
 Redirecting context call to the FocusedElement. More...
 
virtual void RestartAgents ()
 Restarting focusing agent.
 
virtual void Awake ()
 Loading core components. More...
 
virtual void OnDestroy ()
 Dropping focus. Unregistering element from GUI hierarchy. More...
 
virtual void OnEnable ()
 Occurs when component enabled.
 
virtual void OnDisable ()
 Occurs when component disabled.
 
virtual void OnTransformChildrenChanged ()
 Occurs when children list has been changed.
 
virtual void OnTransformParentChanged ()
 Occurs when parent object has been changed.
 
virtual void OnMoved ()
 Should be called when element position is modified. More...
 
virtual void OnSizeChanged ()
 Should be called when element size is modified. More...
 
virtual void OnFocus ()
 Occurs when element requested on focus. More...
 
virtual void OnLostFocus ()
 Occurs when UI loosing focus. More...
 
virtual void OnHoverBegin ()
 Occurs when pointer starts hovering the element. More...
 
virtual void OnHover ()
 Occurs when the pointer is over the element.
 
virtual void OnHoverEnd ()
 Occurs when pointer ending hovering the element. More...
 
virtual void OnDragBegin ()
 Occurs when pointer is start drag process.
 
virtual void OnDrag ()
 Occurs each frame when you drags the element. More...
 
virtual void OnDragEnd ()
 Occurs when dragging element from ElementOnAction is released. More...
 
virtual void OnPointerDown ()
 Occurs when LBM pressed above hovering element. More...
 

Package Functions

void PointerLogicConveyor (Vector2 pointerPosition, Rect[] masks)
 Conveyor that handles pointer related events. More...
 
bool IsLocalHierarchyChildOf (AGUIElement element)
 Checks is the element is child of another element in local hierarchy. More...
 

Static Package Functions

static void OnNewEventBegin ()
 Occurs when new UI event started.
 

Properties

Rect padding [get, set]
 Defines element's padding relative to selection object rect. More...
 
virtual AGUIElement FocusedElement [get, set]
 Element that should be highlighted by the controller. Null if have nothing to highlight. More...
 
Coroutine RescalingAgent [get, set]
 Agent that provides rescaling animation for the UI rect. More...
 
Coroutine NavigationAgent [get, set]
 Agent that provides movement animation for the UI rect. More...
 
override Vector2 Size [get, set]
 Size of element. More...
 
override Vector2 Position [get, set]
 Position of element at the screen. More...
 
bool IsMask [get, set]
 If true then will crop the pointer events out of bounds for children.
 
bool IsRaycastTarget [get, set]
 Defines is the element will handle mouse click events. More...
 
bool IsActive [get]
 
bool IsFocused [get]
 Checks is the element registered at the FocusStack
 
bool IsHovered [get]
 Is the element hovered at the moment.
 
bool IsRoot [get, set]
 Is the element is at the bottom of engine hierarchy.
 
AGUIElement FocusedChild [get]
 Returns focused child. Null if not exist.
 
ReadOnlyCollection< AGUIElementChildren = new ReadOnlyCollection<AGUIElement>(new AGUIElement[0]) [get]
 Collection of element children. More...
 
Rect LocalRect [get]
 Returns rect of the bond RectTransform component.
 
Rect ScreenSpaceRect [get, set]
 Returns elements's rect at screen space. More...
 
Vector2 ScreenSpacePostion [get, set]
 Returns elements's position at screen space. More...
 
Rect RaycastRect [get]
 Screen space rect with applied RaycastPadding parameters.
 
Vector4 RaycastPadding [get, set]
 Defines offset of the ray casting box along with the physical size.
 
Window ParentWindow [get]
 Reference to the parent window. Null if element is free.
 
AGUIElement ParentGUIElement [get, protected set]
 Parent GUI element. Drops ParentWindow stored reference to null.
 
RectTransform BondRectTransform [get]
 Buffer that contains bond rect transform.
 
static AGUIElement ElementOnAction [get]
 Reference to last dragged element. More...
 
static bool IsMouseDragOn [get]
 True when some elements is now at the drag state.
 
virtual Vector2 LocalPosition [get, set]
 Position relative to the parent element.
 
virtual bool OnStackTopWhenFocused [get]
 Defines if the element would be moved at the top of focus stack or will stay the same position when it focused. More...
 
virtual bool IsVisibleForEngine [get]
 Defines is the element is visible for internal engine features. In case of false will be skipped during common callbacks.
 

Events

Action< AGUIElementFocused
 Occurs when element is focused.
 
Action< AGUIElementFocusLost
 Occurs when element loosing focus.
 
Action< AGUIElementHoverStarted
 Occurs when pointer crossing element's rect bounds.
 
Action< AGUIElementHovered
 Occurs each time when GUI is changed and pointer is over the element.
 
Action< AGUIElementHoverEnded
 Occurs when pointer leaving the element's rect.
 
Action< AGUIElementDragStarted
 Occurs when drag process is starting.
 
Action< AGUIElementDraged
 Occurs during element drag process.
 
Action< AGUIElementDragEnded
 Occurs when element drag is ended.
 
Action< AGUIElementPointerDown
 Occurs when element pressed with LMB.
 
Action< AGUIElementPointerUp
 Occurs when element LB has been released with the pointer above element.
 
Action< AGUIElementContextMenuCalled
 Occurs when user calling context menu for element.
 
Action< AGUIElementMoved
 Occurs when element is moved.
 
Action< AGUIElementSizeChanged
 Occurs when element Size changed.
 

Member Function Documentation

◆ Awake()

◆ FindParentGUIElement()

static AGUIElement Doloro.UIEngine2.AGUIElement.FindParentGUIElement ( Transform  element)
staticinherited

Looking for parent GUI element.

Parameters
elementSource element transform.
Returns
Parent AGUIElement is exist. Null if root.

◆ FindRoot()

static AGUIElement Doloro.UIEngine2.AGUIElement.FindRoot ( AGUIElement  hierarchyElement)
staticinherited

Looking for root element at the hierarchy branch.

Parameters
hierarchyElementElement of hierarchy.
Returns
Root element at the branch.

◆ IsChildOf()

virtual bool Doloro.UIEngine2.AGUIElement.IsChildOf ( AGUIElement  element)
virtualinherited

Checks is the element is a child of another element.

Parameters
elementTarget element.
Returns

Virtual logic that can be re-implemented to allow creation of virtual hierarchy.

◆ IsLocalHierarchyChildOf()

bool Doloro.UIEngine2.AGUIElement.IsLocalHierarchyChildOf ( AGUIElement  element)
packageinherited

Checks is the element is child of another element in local hierarchy.

Parameters
elementElement to check.
Returns
true in case if child. false otherwise.

◆ NavigateToTarget()

virtual IEnumerator Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.NavigateToTarget ( )
protectedvirtual

Starting move to the center point of the FocusedElement.

If not overridden then immediately take the same position as FocusedElement.

◆ OnContextMenu()

override void Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.OnContextMenu ( )
protectedvirtual

Redirecting context call to the FocusedElement.

Reimplemented from Doloro.UIEngine2.AGUIElement.

◆ OnDestroy()

◆ OnDrag()

virtual void Doloro.UIEngine2.AGUIElement.OnDrag ( )
protectedvirtualinherited

Occurs each frame when you drags the element.

Use ElementOnAction to get drag target.

◆ OnDragEnd()

virtual void Doloro.UIEngine2.AGUIElement.OnDragEnd ( )
protectedvirtualinherited

Occurs when dragging element from ElementOnAction is released.

Reimplemented in Doloro.UIEngine2.Controls.TooltipGUIController, and Doloro.UIEngine2.AFreespaceLayoutController.

◆ OnElementGUI()

override void Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.OnElementGUI ( )
virtual

Call per each GUI event.

Reimplemented from Doloro.UIEngine2.AGUIElement.

◆ OnFocus()

virtual void Doloro.UIEngine2.AGUIElement.OnFocus ( )
protectedvirtualinherited

Occurs when element requested on focus.

Reimplemented in Doloro.UIEngine2.Window, Doloro.UIEngine2.WindowUIController, and Doloro.UIEngine2.Modules.Tabs.TabGUIElement.

◆ OnHoverBegin()

virtual void Doloro.UIEngine2.AGUIElement.OnHoverBegin ( )
protectedvirtualinherited

Occurs when pointer starts hovering the element.

Reimplemented in Doloro.UIEngine2.Controls.TooltipGUIController, and Doloro.UIEngine2.WindowUIController.

◆ OnHoverEnd()

virtual void Doloro.UIEngine2.AGUIElement.OnHoverEnd ( )
protectedvirtualinherited

Occurs when pointer ending hovering the element.

Reimplemented in Doloro.UIEngine2.Controls.TooltipGUIController, and Doloro.UIEngine2.WindowUIController.

◆ OnInput()

virtual void Doloro.UIEngine2.AGUIElement.OnInput ( )
virtualinherited

Handler that will be called for elements in input priority order. use to modify data along with input instead of using OnElementGUI.

Don't forget call Event.Use in case if event consumed by element. Otherwise event will foes deeper into the focused elements hierarchy.

Reimplemented in Doloro.UIEngine2.Modules.Context.ContextMenu, and Doloro.UIEngine2.Modules.ElementsCollection.GridCollection.

◆ OnLostFocus()

virtual void Doloro.UIEngine2.AGUIElement.OnLostFocus ( )
protectedvirtualinherited

Occurs when UI loosing focus.

Reimplemented in Doloro.UIEngine2.Modules.ElementsCollection.AGUIElementsCollection.

◆ OnMoved()

virtual void Doloro.UIEngine2.AGUIElement.OnMoved ( )
protectedvirtualinherited

Should be called when element position is modified.

Reimplemented in Doloro.UIEngine2.WindowUIController, and Doloro.UIEngine2.Modules.RuntimeWorkspace.RuntimeWorkspaceLayout.

◆ OnPointerDown()

◆ OnPointerUp()

override void Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.OnPointerUp ( )
protectedvirtual

Redirecting click call to the FocusedElement.

Reimplemented from Doloro.UIEngine2.AGUIElement.

◆ OnSizeChanged()

virtual void Doloro.UIEngine2.AGUIElement.OnSizeChanged ( )
protectedvirtualinherited

Should be called when element size is modified.

Reimplemented in Doloro.UIEngine2.Modules.RuntimeWorkspace.RuntimeWorkspaceLayout.

◆ PointerLogicConveyor()

void Doloro.UIEngine2.AGUIElement.PointerLogicConveyor ( Vector2  pointerPosition,
Rect[]  masks 
)
packageinherited

Conveyor that handles pointer related events.

Parameters
pointerPositionPosition of pointer at the screen.
masksMasks that should be checked for the element.

◆ RescaleWithTargetRect()

virtual IEnumerator Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.RescaleWithTargetRect ( )
protectedvirtual

Changing itself rect along with the FocusedElement rect.

Immediately takes the size of the FocusedElement in non overridden.

Property Documentation

◆ Children

ReadOnlyCollection<AGUIElement> Doloro.UIEngine2.AGUIElement.Children = new ReadOnlyCollection<AGUIElement>(new AGUIElement[0])
getinherited

Collection of element children.

Immediately access but has arbitrary order.

◆ ElementOnAction

AGUIElement Doloro.UIEngine2.AGUIElement.ElementOnAction
staticgetinherited

Reference to last dragged element.

Overriding only when new drag begun. Use IsMouseDragOn property to check is the process state.

◆ FocusedElement

virtual AGUIElement Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.FocusedElement
getset

Element that should be highlighted by the controller. Null if have nothing to highlight.

Disabling game object in case if value is null.

◆ IsActive

bool Doloro.UIEngine2.AGUIElement.IsActive
getinherited

Checks current element activity state.

◆ IsRaycastTarget

bool Doloro.UIEngine2.AGUIElement.IsRaycastTarget
getsetinherited

Defines is the element will handle mouse click events.

Not affects children. Still handles OnHover-like events. Not blocks manual call of CallClick and CallContextMenu API members.

◆ NavigationAgent

Coroutine Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.NavigationAgent
getsetprotected

Agent that provides movement animation for the UI rect.

Automatically stops already started in case of set.

◆ OnStackTopWhenFocused

virtual bool Doloro.UIEngine2.AGUIElement.OnStackTopWhenFocused
getprotectedinherited

Defines if the element would be moved at the top of focus stack or will stay the same position when it focused.

By default elements not changing order by some system like Window module Requires stack modifying to make it possible to update windows order.

Works only for elements with true IsRoot property.

◆ padding

Rect Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.padding
getsetadd

Defines element's padding relative to selection object rect.

x: left offset. y: bottom offset. width: right offset. height: top offset.

◆ Position

override Vector2 Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.Position
getsetadd

Position of element at the screen.

Demands RectTransform if not overridden. Automatically applies padding.

◆ RescalingAgent

Coroutine Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.RescalingAgent
getsetprotected

Agent that provides rescaling animation for the UI rect.

Automatically stops already started in case of set.

◆ ScreenSpacePostion

Vector2 Doloro.UIEngine2.AGUIElement.ScreenSpacePostion
getsetinherited

Returns elements's position at screen space.

Cords counting from top left corner. Useful for full screen operations, like comparing with mouse position or etc.

◆ ScreenSpaceRect

Rect Doloro.UIEngine2.AGUIElement.ScreenSpaceRect
getsetinherited

Returns elements's rect at screen space.

Cords counting from top left corner. Useful for full screen operations, like comparing with mouse position or etc.

◆ Size

override Vector2 Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.Size
getsetadd

Size of element.

Demands RectTransform if not overridden. Automatically applies padding.


The documentation for this class was generated from the following file: