Doloro GDK 22 .1.0 Beta
by Tauri Interactive
Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement Class Reference

Detailed Description

GUI controller that handles temporal exchange buffer of the Storage.

Visualizes storage content separated on two groups:

Inheritance diagram for Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement:
Collaboration diagram for Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement:

Public Types

enum  ContentMode { Raw , Available , Reserved }
 Defined content display mode. More...
 

Public Member Functions

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...
 
virtual void OnElementGUI ()
 Calling each draw frame. Use to update showing data. 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...
 

Protected Member Functions

virtual void Start ()
 Occurs when component instantiated at the world.
 
override void OnDestroy ()
 Occurs when the component has been destroyed and releases it from external services and messages. More...
 
virtual void OnContentChanged ()
 Applying content to GUI. More...
 
virtual void Awake ()
 Loading core components. 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...
 
virtual void OnPointerUp ()
 Occurs when LBM released above hovering element. More...
 
virtual void OnContextMenu ()
 Occurs when you calling context menu with focused 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

ContentMode mode [get, set]
 Defines content display mode. More...
 
Storage source [get, set]
 Primary storage used as TransactionService.TransactionOrder source point. More...
 
Storage destination [get, set]
 Secondary storage used as TransactionService.TransactionOrder destination point. More...
 
ShopsInspector inspector [get, set]
 Parental inspector using as dock for the collection.
 
StorageContentExplorerGUIExtension SourceContentExplorer [get]
 Connected content explorer related to the exchange buffer source storage.
 
StorageContentExplorerGUIExtension DestinationContentExplorer [get]
 Connected content explorer related to the exchange buffer destination storage.
 
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< AGUIElement > Children = 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 Size [get, set]
 Size of element. More...
 
virtual Vector2 Position [get, set]
 Position of element at the screen. More...
 
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< ExchangeBufferGUIElementChanged
 Event that occurs when buffer's content has been changed.
 
Action< AGUIElement > Focused
 Occurs when element is focused.
 
Action< AGUIElement > FocusLost
 Occurs when element loosing focus.
 
Action< AGUIElement > HoverStarted
 Occurs when pointer crossing element's rect bounds.
 
Action< AGUIElement > Hovered
 Occurs each time when GUI is changed and pointer is over the element.
 
Action< AGUIElement > HoverEnded
 Occurs when pointer leaving the element's rect.
 
Action< AGUIElement > DragStarted
 Occurs when drag process is starting.
 
Action< AGUIElement > Draged
 Occurs during element drag process.
 
Action< AGUIElement > DragEnded
 Occurs when element drag is ended.
 
Action< AGUIElement > PointerDown
 Occurs when element pressed with LMB.
 
Action< AGUIElement > PointerUp
 Occurs when element LB has been released with the pointer above element.
 
Action< AGUIElement > ContextMenuCalled
 Occurs when user calling context menu for element.
 
Action< AGUIElement > Moved
 Occurs when element is moved.
 
Action< AGUIElement > SizeChanged
 Occurs when element Size changed.
 

Member Enumeration Documentation

◆ ContentMode

Defined content display mode.

Enumerator
Raw 

Displays content as it, without affect of TransactionService.

Available 

Displays content available for transfer.

Reserved 

Displays content reserved for transfer.

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.

◆ OnContentChanged()

virtual void Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement.OnContentChanged ( )
protectedvirtual

Applying content to GUI.

Parameters
contentShared content.
guiDestination GUI element.

◆ OnContextMenu()

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

Occurs when you calling context menu with focused element.

Reimplemented in Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter, and Doloro.UIEngine2.Modules.Tabs.TabGUIElement.

◆ OnDestroy()

override void Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement.OnDestroy ( )
protectedvirtual

Occurs when the component has been destroyed and releases it from external services and messages.

Clears unmanaged memory.

Reimplemented from Doloro.UIEngine2.AGUIElement.

◆ 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()

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

Calling each draw frame. Use to update showing data.

Calling each frame if element displayed. Before self draw call OnElementGUI for all elements in Children collection.

IMPORTANT

Avoid reading inputs here. Use OnInput instead.

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

◆ 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()

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

Occurs when LBM released above hovering element.

Not occurs in case it there is had been drag event.

Reimplemented in Doloro.UIEngine2.AFreespaceLayoutController, Doloro.UIEngine2.WindowDragController, Doloro.UIEngine2.Modules.Context.ContextMenuItem, and Doloro.UIEngine2.Modules.ElementsCollection.GUIElementHighlighter.

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

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.

◆ destination

Storage Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement.destination
getset

Secondary storage used as TransactionService.TransactionOrder destination point.

Relays to DestinationContentExplorer.inspector.content.

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

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

◆ mode

ContentMode Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement.mode
getset

Defines content display mode.

Raw: Displays content as it, without affect of TransactionService. Available: Displays content available for transfer. Reserved: Displays content reserved for transfer with TransactionService.

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

◆ Position

virtual Vector2 Doloro.UIEngine2.AGUIElement.Position
getsetinherited

Position of element at the screen.

Demands RectTransform if not overridden.

◆ 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

virtual Vector2 Doloro.UIEngine2.AGUIElement.Size
getsetinherited

Size of element.

Demands RectTransform if not overridden.

◆ source

Storage Doloro.InvetorySystem.Modules.Shops.UI.Controls.ExchangeBufferGUIElement.source
getset

Primary storage used as TransactionService.TransactionOrder source point.

Relays to SourceContentExplorer.inspector.content.


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