Doloro GDK 22 .1.0 Beta
by Tauri Interactive
|
Comprehensive module that allows to combine windows in one view with a grid management feature.
Encapsulates layouts size \ position management along with following of its predefined rules.
That system is fully dynamic and not demands predefinition of entire layout.
VirtualHierarchyLinker
features. That allows creation of complex sub layouts in depended on windows. Such layout will be embedded into virtual hierarchy and start follow common layout behavior.Explore API: Doloro.UIEngine2.VirtualHierarchyLinker
RuntimeWorkspaceLayout
is a main component that implements RWL features for in-game graphics element. The component derived from the AGUIElement
class and integrates the object into the dui2 engine.
Explore API: Doloro.UIEngine2.Modules.RuntimeWorkspace.RuntimeWorkspaceLayout
By default, the component creates as undefined and must be configured.
RWL has 2 two global states that can be configured:
State | Meaning |
---|---|
Intermediate layout | A layout divided with a splitter that has some RWL instances as child (both standard Unity hierarchy or VirtualHierarchyLinker reflected). |
Outer layout | A layout that NOT divided with sub-layouts. Such layout reflects itself with a WorkspaceLayout with defined key and supposed to contain a content inside the scope. |
Take a note that the RWL layout can be configured as you need and not demands you to follow a solid objects configuration, but still demands expected hierarchy to be implemented.
The system allows to embed layouts inside each other. Such layouts must be powered with a Window
component as root AGUIElement
. Any layout exists in local hierarchy and connects each other with virtual links.
Virtual connection could be provided by any outer (not divided) layout with applying of connected window via AWorkspaceProvider.ActiveContent
property.
To create a layout divided on 2 zones you have to:
RuntimeWorkspaceLayout
component over it.Split
button at Workspace configuration group at the component editor.SplitType
and Value
to setup the backstage logic of RWL upscaling | downscaling.In case the layout is already created but you want to refer it to some other root, follow the next instruction:
RuntimeWorkspaceLayout
.RuntimeWorkspaceLayout
expected to be root or parent for referring layouts.Detect All
button to auto detect objects among children or define references manually.
To create an outer layout that supports reflection of a Workspaces you have to create a game object with RuntimeWorkspaceLayout
component, but without child RWL instances referenced within Layout references group.
Such RWL must has a defined workspace key. The component will automatically create a WorkspaceLayout
with selected key and bond it with the layout instance.
Any Workspace GUI Element spawned within RWL scope will be associated with the declared WorkspaceLayout
.
The module encapsulates Window
resources loading to RWL layouts by BondWindowFromResources
component using.
To load the window, it must be located at the Resources
folder and has added Dynamic Resource component over it.
BondWindowFromResources
component on the object with outer RuntimeWorkspaceLayout
component.DynamicResource
component.The window will be loaded after Start
handler as soon as the resource will be loaded by background services.
Such a window will be connected to virtual hierarchy chain and will follow that parental layout events.
The package supplies you with pre-configurated resources using all along with module features.
The resources located under following path:
Doloro-GDK \ Doloro-UI-2 \ Resources \ Templates
You may reconfigure them along with you layout requirements to apply as default to use.
The package provides you with library of demo scenes and results by following path:
Doloro-GDK \ Doloro-UI-2 \ Scenes
.
You may find collection of complex layouts configured to demonstrate you a flexibility and required setting to achieve any option.
Some of Window
instances located at the same RWL scope may have some clamp options that affects entire layout behavior. It's not an issue when you are working with predictable layouts, but in cases of complex virtual hierarchies the clamp values can be undefined during development.
To make the development process simplified the package supplies you with the WindowAutoSizeClamp
component that tracks complex changes of layout settings and reconfigures assigned Window
along with settings of child layouts' settings.
A utility component that allows to compute the Window
min and max sized along with content in auto mode, encapsulating entire process from developer.
Explore API: Doloro.UIEngine2.Modules.RuntimeWorkspace.WindowAutoSizeClamp
RuntimeWorkspaceLayout
module and not using some custom layouts derived directly from the AClampedWorkspaceProvider
.
WindowAutoSizeClamp
component on the game object with applied Window derived component.LateUpdate
call.You can call manual update of layout with WindowAutoSizeClamp.Recopute()
handler in case the layout has been changed without notification of entire hierarchy.