I'm a doctor, not a mechanic

Difference between revisions of "UE3:UIObject (UT3)"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(testing wikifier output)
(Auto-generated page)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{infobox class
 
{{infobox class
 
| package = Engine
 
| package = Engine
| abstract = yes
+
| parent1 = UIScreenObject
| parent1 = Object
+
 
| parent2 = UIRoot
 
| parent2 = UIRoot
| parent3 = UIScreenObject
+
| parent3 = Object
 +
| abstract = yes
 
}}
 
}}
; Known Subclasses : [[{{samegame|ConsoleEntry}}|Engine.ConsoleEntry]], [[{{samegame|UIButton}}|Engine.UIButton]], [[{{samegame|UIComboBox}}|Engine.UIComboBox]], [[{{samegame|UIContainer}}|Engine.UIContainer]], [[{{samegame|UIEditBox}}|Engine.UIEditBox]], [[{{samegame|UIImage}}|Engine.UIImage]], [[{{samegame|UILabel}}|Engine.UILabel]], [[{{samegame|UIList}}|Engine.UIList]], [[{{samegame|UIMeshWidget}}|Engine.UIMeshWidget]], [[{{samegame|UIOptionListBase}}|Engine.UIOptionListBase]], [[{{samegame|UIPrefab}}|Engine.UIPrefab]], [[{{samegame|UIPrefabInstance}}|Engine.UIPrefabInstance]], [[{{samegame|UIProgressBar}}|Engine.UIProgressBar]], [[{{samegame|UIScrollbar}}|Engine.UIScrollbar]], [[{{samegame|UISlider}}|Engine.UISlider]], [[{{samegame|UITabControl}}|Engine.UITabControl]], [[{{samegame|UTUI_Widget}}|UTGame.UTUI_Widget]]
 
 
{{autogenerated}}
 
{{autogenerated}}
 
Base class for all UI widgets.
 
Base class for all UI widgets.
Line 31: Line 30:
 
===Property group 'Data'===
 
===Property group 'Data'===
 
====ContextMenuData====
 
====ContextMenuData====
{| class="list"
+
'''Type:''' {{tl|UIDataStoreBinding|UIRoot|structs}}
! Type:
+
 
| [[{{samegame|UIRoot structs}}#UIDataStoreBinding|UIRoot.UIDataStoreBinding]]
+
'''[[Variables#Modifiers|Modifiers]]:''' private, editconst
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| private, editconst
+
|}
+
 
<!-- enter variable description -->
 
<!-- enter variable description -->
  
====ToolTip====
+
'''Default value:'''
{| class="list"
+
{| class="list defaults"
! Type:
+
! {{tl|UIDataStoreBinding||UIRoot structs|Member}}
| [[{{samegame|UIRoot structs}}#UIDataStoreBinding|UIRoot.UIDataStoreBinding]]
+
! Value
 
|-
 
|-
! [[Variables#Modifiers|Modifiers]]:
+
| RequiredFieldType
| private
+
| {{tl|EUIDataProviderFieldType||UIRoot enums|DATATYPE_Collection}}
 
|}
 
|}
 +
 +
====ToolTip====
 +
'''Type:''' {{tl|UIDataStoreBinding|UIRoot|structs}}
 +
 +
'''[[Variables#Modifiers|Modifiers]]:''' private
 +
 
The tool tip for this widget; only relevant for widgets that implement the UIDataStoreSubscriber interface.
 
The tool tip for this widget; only relevant for widgets that implement the UIDataStoreSubscriber interface.
  
 
===Property group 'Debug'===
 
===Property group 'Debug'===
 
====bDebugShowBounds====
 
====bDebugShowBounds====
{| class="list"
+
'''Type:''' [[bool]]
! Type:
+
 
| [[bool]]
+
|}
+
 
Set to true to render an outline marking the widget's RenderBounds.
 
Set to true to render an outline marking the widget's RenderBounds.
  
 
====DebugBoundsColor====
 
====DebugBoundsColor====
{| class="list"
+
'''Type:''' {{tl|Color|Object|structs}}
! Type:
+
 
| [[{{samegame|Object structs}}#Color|Object.Color]]
+
|}
+
 
if bRenderBoundingRegion is TRUE, specifies the color to use for this widget.
 
if bRenderBoundingRegion is TRUE, specifies the color to use for this widget.
 +
 +
'''Default value:'''
 +
{| class="list defaults"
 +
! {{tl|Color||Object structs|Member}}
 +
! Value
 +
|-
 +
| A
 +
| 255
 +
|-
 +
| B
 +
| 255
 +
|-
 +
| G
 +
| 128
 +
|-
 +
| R
 +
| 255
 +
|}
  
 
===Property group 'Focus'===
 
===Property group 'Focus'===
 
====NavigationTargets====
 
====NavigationTargets====
{| class="list"
+
'''Type:''' {{tl|UINavigationData|UIRoot|structs}}
! Type:
+
 
| [[{{samegame|UIRoot structs}}#UINavigationData|UIRoot.UINavigationData]]
+
|}
+
 
Controls which widgets are given focus when this widget receives an event that changes
 
Controls which widgets are given focus when this widget receives an event that changes
 
the currently focused widget.
 
the currently focused widget.
  
 
====TabIndex====
 
====TabIndex====
{| class="list"
+
'''Type:''' [[int]]
! Type:
+
 
| [[int]]
+
|}
+
 
Allows the designer to specify where this widget occurs in the bound (i.e. tab, shift+tab) navigation network of this widget's parent.
 
Allows the designer to specify where this widget occurs in the bound (i.e. tab, shift+tab) navigation network of this widget's parent.
 +
 +
'''Default value:''' -1
  
 
===Property group 'Presentation'===
 
===Property group 'Presentation'===
 
====DockTargets====
 
====DockTargets====
{| class="list"
+
'''Type:''' {{tl|UIDockingSet|UIRoot|structs}}
! Type:
+
 
| [[{{samegame|UIRoot structs}}#UIDockingSet|UIRoot.UIDockingSet]]
+
'''[[Variables#Modifiers|Modifiers]]:''' editconst
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| editconst
+
|}
+
 
The widgets that this widget should be docked to.  For the 'right' and 'bottom' faces, if the widget has
 
The widgets that this widget should be docked to.  For the 'right' and 'bottom' faces, if the widget has
 
no dock target, it is considered docked to the 'left' and 'top' faces, respectively.
 
no dock target, it is considered docked to the 'left' and 'top' faces, respectively.
  
====RenderBounds====
+
'''Default value:'''
{| class="list"
+
{| class="list defaults"
! Type:
+
! {{tl|UIDockingSet||UIRoot structs|Member}}
| [[float]]
+
! Value
 
|-
 
|-
! [[Static arrays|Array size]]:
+
| TargetFace[0]
| EUIWidgetFace.UIFACE_MAX
+
| {{tl|EUIWidgetFace||UIRoot enums|INVALID}}
 
|-
 
|-
! [[Variables#Modifiers|Modifiers]]:
+
| TargetFace[1]
| editconst, private, const, transient
+
| {{tl|EUIWidgetFace||UIRoot enums|INVALID}}
 +
|-
 +
| TargetFace[2]
 +
| {{tl|EUIWidgetFace||UIRoot enums|INVALID}}
 +
|-
 +
| TargetFace[3]
 +
| {{tl|EUIWidgetFace||UIRoot enums|INVALID}}
 
|}
 
|}
 +
 +
====RenderBounds====
 +
'''Type:''' [[float]]
 +
 +
'''[[Static arrays|Array size]]:''' 4 (<code>{{tl|EUIWidgetFace||UIRoot enums}}.UIFACE_MAX</code>)
 +
 +
'''[[Variables#Modifiers|Modifiers]]:''' editconst, private, const, transient
 +
 
Represents the bounding region available for the widget to render itself in.  Set through the docking system.
 
Represents the bounding region available for the widget to render itself in.  Set through the docking system.
  
 
====RenderBoundsVertices====
 
====RenderBoundsVertices====
{| class="list"
+
'''Type:''' {{tl|Vector2D|Object|structs}}
! Type:
+
 
| [[{{samegame|Object structs}}#Vector2D|Object.Vector2D]]
+
'''[[Static arrays|Array size]]:''' 4 (<code>{{tl|EUIWidgetFace||UIRoot enums}}.UIFACE_MAX</code>)
|-
+
 
! [[Static arrays|Array size]]:
+
'''[[Variables#Modifiers|Modifiers]]:''' editconst, private, const, transient
| EUIWidgetFace.UIFACE_MAX
+
 
|-
+
! [[Variables#Modifiers|Modifiers]]:
+
| editconst, private, const, transient
+
|}
+
 
Represents the location of the corners of the widget including any tranforms, in absolute pixels (pixel space).  Starts
 
Represents the location of the corners of the widget including any tranforms, in absolute pixels (pixel space).  Starts
 
at the upper-left corner of the widget and goes clockwise.
 
at the upper-left corner of the widget and goes clockwise.
  
 
====RenderOffset====
 
====RenderOffset====
{| class="list"
+
'''Type:''' {{tl|Vector|Object|structs}}
! Type:
+
 
| [[{{samegame|Object structs}}#Vector|Object.Vector]]
+
|}
+
 
Screenspace offset to apply to the widget's rendering.
 
Screenspace offset to apply to the widget's rendering.
  
 
====Rotation====
 
====Rotation====
{| class="list"
+
'''Type:''' {{tl|UIRotation|UIRoot|structs}}
! Type:
+
 
| [[{{samegame|UIRoot structs}}#UIRotation|UIRoot.UIRotation]]
+
|}
+
 
Rotation of the widget.
 
Rotation of the widget.
  
====WidgetTag====
+
'''Default value:'''
{| class="list"
+
{| class="list defaults"
! Type:
+
! {{tl|UIRotation||UIRoot structs|Member}}
| [[name]]
+
! Value
 +
|-
 +
| AnchorPosition
 +
|
 +
{| class="list defaults"
 +
! {{tl|UIAnchorPosition||UIRoot structs|Member}}
 +
! Value
 +
|-
 +
| {{tl|UIScreenValue_Position||UIRoot structs|ScaleType}}[0]
 +
| {{tl|EPositionEvalType||UIRoot enums|EVALPOS_PixelOwner}}
 
|-
 
|-
! [[Variables#Modifiers|Modifiers]]:
+
| {{tl|UIScreenValue_Position||UIRoot structs|ScaleType}}[1]
| editconst
+
| {{tl|EPositionEvalType||UIRoot enums|EVALPOS_PixelOwner}}
 
|}
 
|}
 +
|-
 +
| AnchorType
 +
| {{tl|ERotationAnchor||UIRoot enums|RA_Center}}
 +
|}
 +
 +
====WidgetTag====
 +
'''Type:''' [[name]]
 +
 +
'''[[Variables#Modifiers|Modifiers]]:''' editconst
 +
 
Unique non-localized name for this widget which is used to reference the widget without needing to know its GUID
 
Unique non-localized name for this widget which is used to reference the widget without needing to know its GUID
  
 
===Internal variables===
 
===Internal variables===
 
====AnimationParent====
 
====AnimationParent====
{| class="list"
+
'''Type:''' {{cl|UIObject}}
! Type:
+
 
| [[{{samegame|UIObject}}|UIObject]]
+
|}
+
 
Used as the parent in animation sequences
 
Used as the parent in animation sequences
  
 
====AnimationPosition====
 
====AnimationPosition====
{| class="list"
+
'''Type:''' {{tl|Vector|Object|structs}}
! Type:
+
 
| [[{{samegame|Object structs}}#Vector|Object.Vector]]
+
'''[[Variables#Modifiers|Modifiers]]:''' transient
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| transient
+
|}
+
 
- The following is used in UTGame's UI animation system.
 
- The following is used in UTGame's UI animation system.
 
- It is subject to change at any time.
 
- It is subject to change at any time.
  
 
====AnimStack====
 
====AnimStack====
{| class="list"
+
'''Type:''' [[array]]<{{tl|UIAnimSeqRef|UIAnimation}}>
! Type:
+
 
| [[array]]<UIAnimSeqRef>
+
'''[[Variables#Modifiers|Modifiers]]:''' transient
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| transient
+
|}
+
 
This is the stack of animations currently being applied to this UIObject
 
This is the stack of animations currently being applied to this UIObject
  
 
====bEnableActiveCursorUpdates====
 
====bEnableActiveCursorUpdates====
{| class="list"
+
'''Type:''' [[bool]]
! Type:
+
 
| [[bool]]
+
'''[[Variables#Modifiers|Modifiers]]:''' private
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| private
+
|}
+
 
Indicates that this widget should receive a call each tick with the location of the mouse cursor while it's the active control (NotifyMouseOver)
 
Indicates that this widget should receive a call each tick with the location of the mouse cursor while it's the active control (NotifyMouseOver)
 
(caution: slightly degrades performance)
 
(caution: slightly degrades performance)
  
 
====bSupportsPrimaryStyle====
 
====bSupportsPrimaryStyle====
{| class="list"
+
'''Type:''' [[bool]]
! Type:
+
 
| [[bool]]
+
'''[[Variables#Modifiers|Modifiers]]:''' const
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| const
+
|}
+
 
Temp hack to allow widgets to remove "Primary Style" from the styles listed in the context menu for that widget if they no longer use it.
 
Temp hack to allow widgets to remove "Primary Style" from the styles listed in the context menu for that widget if they no longer use it.
 
Will be removed once I am ready to deprecate the PrimaryStyle property.
 
Will be removed once I am ready to deprecate the PrimaryStyle property.
 +
 +
'''Default value:''' True
  
 
====Owner====
 
====Owner====
{| class="list"
+
'''Type:''' {{cl|UIObject}}
! Type:
+
 
| [[{{samegame|UIObject}}|UIObject]]
+
'''[[Variables#Modifiers|Modifiers]]:''' const, private, duplicatetransient
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| const, private, duplicatetransient
+
|}
+
 
the UIObject that contains this widget in its Children array
 
the UIObject that contains this widget in its Children array
  
 
====OwnerScene====
 
====OwnerScene====
{| class="list"
+
'''Type:''' {{cl|UIScene}}
! Type:
+
 
| [[{{samegame|UIScene}}|UIScene]]
+
'''[[Variables#Modifiers|Modifiers]]:''' const, private, duplicatetransient
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| const, private, duplicatetransient
+
|}
+
 
The scene that owns this widget
 
The scene that owns this widget
  
 
====PrimaryStyle====
 
====PrimaryStyle====
{| class="list"
+
'''Type:''' {{tl|UIStyleReference|UIRoot|structs}}
! Type:
+
 
| [[{{samegame|UIRoot structs}}#UIStyleReference|UIRoot.UIStyleReference]]
+
|}
+
 
Specifies the style data to use for this widget
 
Specifies the style data to use for this widget
  
====PrivateFlags====
+
'''Default value:'''
{| class="list"
+
{| class="list defaults"
! Type:
+
! {{tl|UIStyleReference||UIRoot structs|Member}}
| [[int]]
+
! Value
 
|-
 
|-
! [[Variables#Modifiers|Modifiers]]:
+
| DefaultStyleTag
| private
+
| 'DefaultComboStyle'
 
|}
 
|}
 +
 +
====PrivateFlags====
 +
'''Type:''' [[int]]
 +
 +
'''[[Variables#Modifiers|Modifiers]]:''' private
 +
 
Stores a bitmask of flags which modify/define which operations may be performed to this widget (such as renaming, reparenting, selecting, etc.).
 
Stores a bitmask of flags which modify/define which operations may be performed to this widget (such as renaming, reparenting, selecting, etc.).
 
  Valid behavior flags are defined in UIRoot.uc, as consts which begin with PRIVATE_
 
  Valid behavior flags are defined in UIRoot.uc, as consts which begin with PRIVATE_
  
 
====StyleSubscribers====
 
====StyleSubscribers====
{| class="list"
+
'''Type:''' [[array]]<{{cl|UIStyleResolver}}>
! Type:
+
 
| [[array]]<[[{{samegame|UIStyleResolver}}|UIStyleResolver]]>
+
'''[[Variables#Modifiers|Modifiers]]:''' transient
|-
+
 
! [[Variables#Modifiers|Modifiers]]:
+
| transient
+
|}
+
 
List of objects/components contained by this widget which contain their own style references.  When this widget's style is resolved,
 
List of objects/components contained by this widget which contain their own style references.  When this widget's style is resolved,
 
each element in this list will receive a notification to resolve its style references as well.
 
each element in this list will receive a notification to resolve its style references as well.
Line 251: Line 270:
  
 
====WidgetID====
 
====WidgetID====
{| class="list"
+
'''Type:''' {{tl|WIDGET_ID|UIRoot|structs}}
! Type:
+
 
| [[{{samegame|UIRoot structs}}#WIDGET_ID|UIRoot.WIDGET_ID]]
+
'''[[Variables#Modifiers|Modifiers]]:''' noimport
 +
 
 +
Unique identifier for this widget
 +
 
 +
===Default values===
 +
{| class="list defaults"
 +
! Property
 +
! Value
 
|-
 
|-
! [[Variables#Modifiers|Modifiers]]:
+
| {{tl|EventProvider||UIScreenObject}}
| noimport
+
| {{cl|UIComp_Event}}'{{tl|WidgetEventComponent}}'
 +
|}
 +
 
 +
===Subobjects===
 +
====WidgetEventComponent====
 +
'''Class:''' {{cl|UIComp_Event|Engine}}
 +
 
 +
{| class="list defaults"
 +
! Property
 +
! Value
 +
|-
 +
| DefaultEvents[0]
 +
|
 +
{| class="list defaults"
 +
! {{tl|DefaultEventSpecification||UIRoot structs|Member}}
 +
! Value
 +
|-
 +
| EventTemplate
 +
| {{cl|UIEvent_Initialized}}'Engine.Default__UIObject:WidgetInitializedEvent'
 +
|}
 
|}
 
|}
Unique identifier for this widget
 
  
 
==Delegates==
 
==Delegates==
 
====OnClicked====
 
====OnClicked====
delegate [[bool]] '''OnClicked''' ([[{{samegame|UIScreenObject}}|UIScreenObject]] '''EventObject''', [[int]] '''PlayerIndex''')
+
{{code|delegate [[bool]]&nbsp;'''OnClicked''' ({{cl|UIScreenObject}}&nbsp;'''EventObject''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when the widget is no longer being pressed.  Not implemented by all widget types.
 
Called when the widget is no longer being pressed.  Not implemented by all widget types.
  
Line 271: Line 316:
 
'''Parameters:'''
 
'''Parameters:'''
 
* ''EventObject'' - Object that issued the event.
 
* ''EventObject'' - Object that issued the event.
* ''PlayerIndex'' - Player that performed the action that issued the event.
+
* ''PlayerIndex'' - Player that performed the action that issued the event.  
  
 
'''Returns:'''
 
'''Returns:'''
Line 277: Line 322:
  
 
====OnCloseContextMenu====
 
====OnCloseContextMenu====
delegate [[bool]] '''OnCloseContextMenu''' ([[{{samegame|UIContextMenu}}|UIContextMenu]] '''ContextMenu''', [[int]] '''PlayerIndex''')
+
{{code|delegate [[bool]]&nbsp;'''OnCloseContextMenu''' ({{cl|UIContextMenu}}&nbsp;'''ContextMenu''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when the system wants to close the currently active context menu.
 
Called when the system wants to close the currently active context menu.
  
 
'''Parameters:'''
 
'''Parameters:'''
 
* ''ContextMenu'' - the context menu that is going to be closed
 
* ''ContextMenu'' - the context menu that is going to be closed
* ''PlayerIndex'' - the index of the player that generated the request for the context menu to be closed.
+
* ''PlayerIndex'' - the index of the player that generated the request for the context menu to be closed.  
  
 
'''Returns:'''
 
'''Returns:'''
Line 288: Line 334:
  
 
====OnContextMenuItemSelected====
 
====OnContextMenuItemSelected====
delegate '''OnContextMenuItemSelected''' ([[{{samegame|UIContextMenu}}|UIContextMenu]] '''ContextMenu''', [[int]] '''PlayerIndex''', [[int]] '''ItemIndex''')
+
{{code|delegate '''OnContextMenuItemSelected''' ({{cl|UIContextMenu}}&nbsp;'''ContextMenu''', [[int]]&nbsp;'''PlayerIndex''', [[int]]&nbsp;'''ItemIndex''')}}
 +
 
 
Called when the user selects a choice from a context menu.
 
Called when the user selects a choice from a context menu.
  
Line 297: Line 344:
  
 
====OnCreate====
 
====OnCreate====
delegate '''OnCreate''' ([[{{samegame|UIObject}}|UIObject]] '''CreatedWidget''', [[{{samegame|UIScreenObject}}|UIScreenObject]] '''CreatorContainer''')
+
{{code|delegate '''OnCreate''' ({{cl|UIObject}}&nbsp;'''CreatedWidget''', {{cl|UIScreenObject}}&nbsp;'''CreatorContainer''')}}
 +
 
 
Called when this widget is created
 
Called when this widget is created
  
Line 305: Line 353:
  
 
====OnDoubleClick====
 
====OnDoubleClick====
delegate '''OnDoubleClick''' ([[{{samegame|UIScreenObject}}|UIScreenObject]] '''EventObject''', [[int]] '''PlayerIndex''')
+
{{code|delegate '''OnDoubleClick''' ({{cl|UIScreenObject}}&nbsp;'''EventObject''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when the widget has received a double-click input event.  Not implemented by all widget types.
 
Called when the widget has received a double-click input event.  Not implemented by all widget types.
  
Line 313: Line 362:
  
 
====OnOpenContextMenu====
 
====OnOpenContextMenu====
delegate [[bool]] '''OnOpenContextMenu''' ([[{{samegame|UIObject}}|UIObject]] '''Sender''', [[int]] '''PlayerIndex''', out [[{{samegame|UIContextMenu}}|UIContextMenu]] '''CustomContextMenu''')
+
{{code|delegate [[bool]]&nbsp;'''OnOpenContextMenu''' ({{cl|UIObject}}&nbsp;'''Sender''', [[int]]&nbsp;'''PlayerIndex''', out&nbsp;{{cl|UIContextMenu}}&nbsp;'''CustomContextMenu''')}}
 +
 
 
Called when the user right-clicks (or whatever input key is configured to activate the ShowContextMenu UI input alias)
 
Called when the user right-clicks (or whatever input key is configured to activate the ShowContextMenu UI input alias)
 
this widget.  Provides a way for widgets to customize the context menu that is used or prevent the context menu from being
 
this widget.  Provides a way for widgets to customize the context menu that is used or prevent the context menu from being
Line 326: Line 376:
 
* ''Sender'' - the widget that will be displaying the context menu
 
* ''Sender'' - the widget that will be displaying the context menu
 
* ''PlayerIndex'' - index of the player that generated the input event that triggered the context menu display.
 
* ''PlayerIndex'' - index of the player that generated the input event that triggered the context menu display.
* ''CustomContextMenu'' - to provide a custom tooltip implementation, fill in in this value and return TRUE. The custom context menu will then be activated by native code.
+
* ''CustomContextMenu'' - to provide a custom tooltip implementation, fill in in this value and return TRUE. The custom context menu will then be activated by native code.  
  
 
'''Returns:'''
 
'''Returns:'''
Line 332: Line 382:
  
 
====OnPressed====
 
====OnPressed====
delegate '''OnPressed''' ([[{{samegame|UIScreenObject}}|UIScreenObject]] '''EventObject''', [[int]] '''PlayerIndex''')
+
{{code|delegate '''OnPressed''' ({{cl|UIScreenObject}}&nbsp;'''EventObject''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when this widget is pressed.  Not implemented by all widget types.
 
Called when this widget is pressed.  Not implemented by all widget types.
  
Line 340: Line 391:
  
 
====OnPressRelease====
 
====OnPressRelease====
delegate '''OnPressRelease''' ([[{{samegame|UIScreenObject}}|UIScreenObject]] '''EventObject''', [[int]] '''PlayerIndex''')
+
{{code|delegate '''OnPressRelease''' ({{cl|UIScreenObject}}&nbsp;'''EventObject''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when the widget is no longer being pressed.  Not implemented by all widget types.
 
Called when the widget is no longer being pressed.  Not implemented by all widget types.
  
Line 348: Line 400:
  
 
====OnPressRepeat====
 
====OnPressRepeat====
delegate '''OnPressRepeat''' ([[{{samegame|UIScreenObject}}|UIScreenObject]] '''EventObject''', [[int]] '''PlayerIndex''')
+
{{code|delegate '''OnPressRepeat''' ({{cl|UIScreenObject}}&nbsp;'''EventObject''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when the widget been pressed and the user is holding the button down.  Not implemented by all widget types.
 
Called when the widget been pressed and the user is holding the button down.  Not implemented by all widget types.
  
Line 356: Line 409:
  
 
====OnQueryToolTip====
 
====OnQueryToolTip====
delegate [[bool]] '''OnQueryToolTip''' ([[{{samegame|UIObject}}|UIObject]] '''Sender''', out [[{{samegame|UIToolTip}}|UIToolTip]] '''CustomToolTip''')
+
{{code|delegate [[bool]]&nbsp;'''OnQueryToolTip''' ({{cl|UIObject}}&nbsp;'''Sender''', out&nbsp;{{cl|UIToolTip}}&nbsp;'''CustomToolTip''')}}
 +
 
 
Called when this widget (or one of its children) becomes the ActiveControl.  Provides a way for child classes or
 
Called when this widget (or one of its children) becomes the ActiveControl.  Provides a way for child classes or
 
containers to easily override or short-circuit the standard tooltip that is normally shown.  If this delegate is
 
containers to easily override or short-circuit the standard tooltip that is normally shown.  If this delegate is
Line 364: Line 418:
 
'''Parameters:'''
 
'''Parameters:'''
 
* ''Sender'' - the widget that will be displaying the tooltip
 
* ''Sender'' - the widget that will be displaying the tooltip
* ''CustomToolTip'' - to provide a custom tooltip implementation, fill in in this value and return TRUE. The custom tool tip object will then be activated by native code.
+
* ''CustomToolTip'' - to provide a custom tooltip implementation, fill in in this value and return TRUE. The custom tool tip object will then be activated by native code.  
  
 
'''Returns:'''
 
'''Returns:'''
Line 370: Line 424:
  
 
====OnRefreshSubscriberValue====
 
====OnRefreshSubscriberValue====
delegate [[bool]] '''OnRefreshSubscriberValue''' ([[{{samegame|UIObject}}|UIObject]] '''Sender''', [[int]] '''BindingIndex''')
+
{{code|delegate [[bool]]&nbsp;'''OnRefreshSubscriberValue''' ({{cl|UIObject}}&nbsp;'''Sender''', [[int]]&nbsp;'''BindingIndex''')}}
 +
 
 
Called when this widget receives a call to RefreshSubscriberValue.
 
Called when this widget receives a call to RefreshSubscriberValue.
  
 
'''Parameters:'''
 
'''Parameters:'''
 
* ''Sender'' - the widget that is refreshing their value
 
* ''Sender'' - the widget that is refreshing their value
* ''BindingIndex'' - optional parameter for indicating which data store binding is being refreshed, for those objects which have multiple data store bindings. How this parameter is used is up to the class which implements this interface, but typically the "primary" data store will be index 0, while values greater than FIRST_DEFAULT_DATABINDING_INDEX correspond to tooltips and context menus.
+
* ''BindingIndex'' - optional parameter for indicating which data store binding is being refreshed, for those objects which have multiple data store bindings. How this parameter is used is up to the class which implements this interface, but typically the "primary" data store will be index 0, while values greater than FIRST_DEFAULT_DATABINDING_INDEX correspond to tooltips and context menus.  
  
 
'''Returns:'''
 
'''Returns:'''
Line 381: Line 436:
  
 
====OnUIAnimEnd====
 
====OnUIAnimEnd====
delegate '''OnUIAnimEnd''' ([[{{samegame|UIObject}}|UIObject]] '''AnimTarget''', [[int]] '''AnimIndex''', [[{{samegame|UIAnimationSeq}}|UIAnimationSeq]] '''AnimSeq''')
+
{{code|delegate '''OnUIAnimEnd''' ({{cl|UIObject}}&nbsp;'''AnimTarget''', [[int]]&nbsp;'''AnimIndex''', {{cl|UIAnimationSeq}}&nbsp;'''AnimSeq''')}}
 +
 
 
If set, this delegate is called whenever an animation is finished
 
If set, this delegate is called whenever an animation is finished
  
 
====OnValueChanged====
 
====OnValueChanged====
delegate '''OnValueChanged''' ([[{{samegame|UIObject}}|UIObject]] '''Sender''', [[int]] '''PlayerIndex''')
+
{{code|delegate '''OnValueChanged''' ({{cl|UIObject}}&nbsp;'''Sender''', [[int]]&nbsp;'''PlayerIndex''')}}
 +
 
 
Called when the value of this UIObject is changed.  Only called for widgets that contain data values.
 
Called when the value of this UIObject is changed.  Only called for widgets that contain data values.
  
Line 394: Line 451:
 
==Functions==
 
==Functions==
 
===Native functions===
 
===Native functions===
See [[{{samegame|UIObject native functions}}|UIObject native functions]].
+
See {{cl|UIObject native functions}}.
  
 
===Events===
 
===Events===
 
====ClearUIAnimation====
 
====ClearUIAnimation====
event '''ClearUIAnimation''' ([[name]] '''AnimName''', optional [[{{samegame|UIAnimationSeq}}|UIAnimationSeq]] '''AnimSeq''')
+
{{code|event '''ClearUIAnimation''' ([[name]]&nbsp;'''AnimName''', optional&nbsp;{{cl|UIAnimationSeq}}&nbsp;'''AnimSeq''')}}
 +
 
 
Clears the animation from the stack.  Stopping an animation (either naturally or by
 
Clears the animation from the stack.  Stopping an animation (either naturally or by
 
force) doesn't remove the effects.  In those cases you need to clear the animation
 
force) doesn't remove the effects.  In those cases you need to clear the animation
Line 411: Line 469:
  
 
====PlayUIAnimation====
 
====PlayUIAnimation====
event '''PlayUIAnimation''' ([[name]] '''AnimName''', optional [[{{samegame|UIAnimationSeq}}|UIAnimationSeq]] '''AnimSeqTemplate''', optional [[float]] '''PlaybackRate''', optional [[bool]] '''bLoop''', optional [[float]] '''InitialPosition''')
+
{{code|event '''PlayUIAnimation''' ([[name]]&nbsp;'''AnimName''', optional&nbsp;{{cl|UIAnimationSeq}}&nbsp;'''AnimSeqTemplate''', optional&nbsp;[[float]]&nbsp;'''PlaybackRate''', optional&nbsp;[[bool]]&nbsp;'''bLoop''', optional&nbsp;[[float]]&nbsp;'''InitialPosition''')}}
 +
 
 
Play an animation on this UIObject
 
Play an animation on this UIObject
  
Line 421: Line 480:
  
 
====StopUIAnimation====
 
====StopUIAnimation====
event '''StopUIAnimation''' ([[name]] '''AnimName''', optional [[{{samegame|UIAnimationSeq}}|UIAnimationSeq]] '''AnimSeq''', optional [[bool]] '''bFinalize''')
+
{{code|event '''StopUIAnimation''' ([[name]]&nbsp;'''AnimName''', optional&nbsp;{{cl|UIAnimationSeq}}&nbsp;'''AnimSeq''', optional&nbsp;[[bool]]&nbsp;'''bFinalize''')}}
 +
 
 
Stop an animation that is playing.
 
Stop an animation that is playing.
  
Line 430: Line 490:
  
 
====UIAnimEnd====
 
====UIAnimEnd====
event '''UIAnimEnd''' ([[int]] '''SeqIndex''')
+
{{code|event '''UIAnimEnd''' ([[int]]&nbsp;'''SeqIndex''')}}
 +
 
 
AnimEnd is always called when an animation stops playing either by ending, or
 
AnimEnd is always called when an animation stops playing either by ending, or
 
when StopAnim is called on it.  It's responsible for unsubscribing from the scene client
 
when StopAnim is called on it.  It's responsible for unsubscribing from the scene client
Line 437: Line 498:
 
===Other instance functions===
 
===Other instance functions===
 
====GetOwner====
 
====GetOwner====
final function [[{{samegame|UIObject}}|UIObject]] '''GetOwner''' ()
+
{{code|final function {{cl|UIObject}}&nbsp;'''GetOwner''' ()}}
 +
 
 
Returns the owner of this widget
 
Returns the owner of this widget
  
 
====GetParent====
 
====GetParent====
function [[{{samegame|UIScreenObject}}|UIScreenObject]] '''GetParent''' ()
+
{{code|function {{cl|UIScreenObject}}&nbsp;'''GetParent''' ()}}
{| class="list"
+
 
|-
+
'''Overrides:''' {{tl|GetParent|UIScreenObject}}
! Overrides:
+
 
| [[{{samegame|UIScreenObject instance functions}}#GetParent|UIScreenObject.GetParent]]
+
|}
+
 
Returns the scene or widget that contains this widget in its Children array.
 
Returns the scene or widget that contains this widget in its Children array.
  
 
====GetScene====
 
====GetScene====
final function [[{{samegame|UIScene}}|UIScene]] '''GetScene''' ()
+
{{code|final function {{cl|UIScene}}&nbsp;'''GetScene''' ()}}
 +
 
 
Returns the scene that owns this widget
 
Returns the scene that owns this widget
  
 
====LogRenderBounds====
 
====LogRenderBounds====
function '''LogRenderBounds''' ([[int]] '''Indent''')
+
{{code|function '''LogRenderBounds''' ([[int]]&nbsp;'''Indent''')}}
 +
 
 
<!-- enter function description -->
 
<!-- enter function description -->
  
 
====OnSetDatastoreBinding====
 
====OnSetDatastoreBinding====
function '''OnSetDatastoreBinding''' ([[{{samegame|UIAction_SetDatastoreBinding}}|UIAction_SetDatastoreBinding]] '''Action''')
+
{{code|function '''OnSetDatastoreBinding''' ({{cl|UIAction_SetDatastoreBinding}}&nbsp;'''Action''')}}
 +
 
 
Kismet Action Handlers
 
Kismet Action Handlers

Latest revision as of 09:11, 17 May 2008

UT3 Object >> UIRoot >> UIScreenObject >> UIObject
Package: 
Engine
Known classes within UIObject:
UIComp_DrawComponents, UIComp_DrawImage, UIComp_DrawString, UIComp_AutoAlignment, UIComp_DrawCaption, UIComp_DrawStringSlider, UIComp_DrawTeamColoredImage, UIComp_UTDrawStateImage, UIComp_UTGlowString
Direct subclasses:
UIComboBox, UIOptionListBase, UIProgressBar, UIImage, UIMeshWidget, UIButton, ConsoleEntry, UIContainer, UIEditBox, UILabel, UIList, UIPrefabInstance, UIPrefab, UIScrollbar, UISlider, UITabControl, UTUI_Widget
This class in other games:
UDK

Base class for all UI widgets.

Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.

Constants[edit]

FIRST_DEFAULT_DATABINDING_INDEX[edit]

Value: 100

used to differentiate tooltip bindings from others

TOOLTIP_BINDING_INDEX[edit]

Value: 100


CONTEXTMENU_BINDING_INDEX[edit]

Value: 101


Properties[edit]

Property group 'Data'[edit]

ContextMenuData[edit]

Type: UIRoot.UIDataStoreBinding

Modifiers: private, editconst


Default value:

Member Value
RequiredFieldType DATATYPE_Collection

ToolTip[edit]

Type: UIRoot.UIDataStoreBinding

Modifiers: private

The tool tip for this widget; only relevant for widgets that implement the UIDataStoreSubscriber interface.

Property group 'Debug'[edit]

bDebugShowBounds[edit]

Type: bool

Set to true to render an outline marking the widget's RenderBounds.

DebugBoundsColor[edit]

Type: Object.Color

if bRenderBoundingRegion is TRUE, specifies the color to use for this widget.

Default value:

Member Value
A 255
B 255
G 128
R 255

Property group 'Focus'[edit]

NavigationTargets[edit]

Type: UIRoot.UINavigationData

Controls which widgets are given focus when this widget receives an event that changes the currently focused widget.

TabIndex[edit]

Type: int

Allows the designer to specify where this widget occurs in the bound (i.e. tab, shift+tab) navigation network of this widget's parent.

Default value: -1

Property group 'Presentation'[edit]

DockTargets[edit]

Type: UIRoot.UIDockingSet

Modifiers: editconst

The widgets that this widget should be docked to. For the 'right' and 'bottom' faces, if the widget has no dock target, it is considered docked to the 'left' and 'top' faces, respectively.

Default value:

Member Value
TargetFace[0] INVALID
TargetFace[1] INVALID
TargetFace[2] INVALID
TargetFace[3] INVALID

RenderBounds[edit]

Type: float

Array size: 4 (EUIWidgetFace.UIFACE_MAX)

Modifiers: editconst, private, const, transient

Represents the bounding region available for the widget to render itself in. Set through the docking system.

RenderBoundsVertices[edit]

Type: Object.Vector2D

Array size: 4 (EUIWidgetFace.UIFACE_MAX)

Modifiers: editconst, private, const, transient

Represents the location of the corners of the widget including any tranforms, in absolute pixels (pixel space). Starts at the upper-left corner of the widget and goes clockwise.

RenderOffset[edit]

Type: Object.Vector

Screenspace offset to apply to the widget's rendering.

Rotation[edit]

Type: UIRoot.UIRotation

Rotation of the widget.

Default value:

Member Value
AnchorPosition
Member Value
ScaleType[0] EVALPOS_PixelOwner
ScaleType[1] EVALPOS_PixelOwner
AnchorType RA_Center

WidgetTag[edit]

Type: name

Modifiers: editconst

Unique non-localized name for this widget which is used to reference the widget without needing to know its GUID

Internal variables[edit]

AnimationParent[edit]

Type: UIObject

Used as the parent in animation sequences

AnimationPosition[edit]

Type: Object.Vector

Modifiers: transient

- The following is used in UTGame's UI animation system. - It is subject to change at any time.

AnimStack[edit]

Type: array<UIAnimation.UIAnimSeqRef>

Modifiers: transient

This is the stack of animations currently being applied to this UIObject

bEnableActiveCursorUpdates[edit]

Type: bool

Modifiers: private

Indicates that this widget should receive a call each tick with the location of the mouse cursor while it's the active control (NotifyMouseOver) (caution: slightly degrades performance)

bSupportsPrimaryStyle[edit]

Type: bool

Modifiers: const

Temp hack to allow widgets to remove "Primary Style" from the styles listed in the context menu for that widget if they no longer use it. Will be removed once I am ready to deprecate the PrimaryStyle property.

Default value: True

Owner[edit]

Type: UIObject

Modifiers: const, private, duplicatetransient

the UIObject that contains this widget in its Children array

OwnerScene[edit]

Type: UIScene

Modifiers: const, private, duplicatetransient

The scene that owns this widget

PrimaryStyle[edit]

Type: UIRoot.UIStyleReference

Specifies the style data to use for this widget

Default value:

Member Value
DefaultStyleTag 'DefaultComboStyle'

PrivateFlags[edit]

Type: int

Modifiers: private

Stores a bitmask of flags which modify/define which operations may be performed to this widget (such as renaming, reparenting, selecting, etc.).

Valid behavior flags are defined in UIRoot.uc, as consts which begin with PRIVATE_

StyleSubscribers[edit]

Type: array<UIStyleResolver>

Modifiers: transient

List of objects/components contained by this widget which contain their own style references. When this widget's style is resolved, each element in this list will receive a notification to resolve its style references as well.

Elements should be added to this list either from the native InitializeStyleSubscribers method [for native classes], the Initialized event [for non-native classes], or the native PostEditChange method (when e.g. components are created or removed using the UI editor's property window).

You should NEVER add elements to this array using defaultproperties, since interface properties will not be updated to point to the subobject/component instance when this widget is created.

WidgetID[edit]

Type: UIRoot.WIDGET_ID

Modifiers: noimport

Unique identifier for this widget

Default values[edit]

Property Value
EventProvider UIComp_Event'WidgetEventComponent'

Subobjects[edit]

WidgetEventComponent[edit]

Class: Engine.UIComp_Event

Property Value
DefaultEvents[0]
Member Value
EventTemplate UIEvent_Initialized'Engine.Default__UIObject:WidgetInitializedEvent'

Delegates[edit]

OnClicked[edit]

delegate bool OnClicked (UIScreenObject EventObject, int PlayerIndex)

Called when the widget is no longer being pressed. Not implemented by all widget types.

The difference between this delegate and the OnPressRelease delegate is that OnClick will only be called on the widget that received the matching key press. OnPressRelease will be called on whichever widget was under the cursor when the key was released, which might not necessarily be the widget that received the key press.

Parameters:

  • EventObject - Object that issued the event.
  • PlayerIndex - Player that performed the action that issued the event.

Returns:

return TRUE to prevent the kismet OnClick event from firing.

OnCloseContextMenu[edit]

delegate bool OnCloseContextMenu (UIContextMenu ContextMenu, int PlayerIndex)

Called when the system wants to close the currently active context menu.

Parameters:

  • ContextMenu - the context menu that is going to be closed
  • PlayerIndex - the index of the player that generated the request for the context menu to be closed.

Returns:

TRUE to allow the specified context menu to be closed; FALSE to prevent the context menu from being closed. Note that there are certain situations where the context menu will be closed regardless of the return value, such as when the scene which owns the context menu is being closed.

OnContextMenuItemSelected[edit]

delegate OnContextMenuItemSelected (UIContextMenu ContextMenu, int PlayerIndex, int ItemIndex)

Called when the user selects a choice from a context menu.

Parameters:

  • ContextMenu - the context menu that called this delegate.
  • PlayerIndex - the index of the player that generated the event.
  • ItemIndex - the index [into the context menu's MenuItems array] for the item that was selected.

OnCreate[edit]

delegate OnCreate (UIObject CreatedWidget, UIScreenObject CreatorContainer)

Called when this widget is created

Parameters:

  • CreatedWidget - the widget that was created
  • CreatorContainer - the container that created the widget

OnDoubleClick[edit]

delegate OnDoubleClick (UIScreenObject EventObject, int PlayerIndex)

Called when the widget has received a double-click input event. Not implemented by all widget types.

Parameters:

  • EventObject - Object that issued the event.
  • PlayerIndex - Player that performed the action that issued the event.

OnOpenContextMenu[edit]

delegate bool OnOpenContextMenu (UIObject Sender, int PlayerIndex, out UIContextMenu CustomContextMenu)

Called when the user right-clicks (or whatever input key is configured to activate the ShowContextMenu UI input alias) this widget. Provides a way for widgets to customize the context menu that is used or prevent the context menu from being shown entirely.

For script customization of the context menu, a custom context menu object must be assigned to the CustomContextMenu variable. It is possible to provide data for the context menu without creating or modifying any existing data stores. First, get a reference to the scene's default context menu (GetScene()->GetDefaultContextMenu()). Add the desired elements to the scene's data store then bind the context menu to that data field.

Parameters:

  • Sender - the widget that will be displaying the context menu
  • PlayerIndex - index of the player that generated the input event that triggered the context menu display.
  • CustomContextMenu - to provide a custom tooltip implementation, fill in in this value and return TRUE. The custom context menu will then be activated by native code.

Returns:

return FALSE to prevent a context menu from being shown, including any from parent widgets. Return TRUE to indicate that the context menu for this widget can be displayed; if a value is not provided for CustomContextMenu, the default context menu will be displayed, using this widget's context menu data binding to generate the items.

OnPressed[edit]

delegate OnPressed (UIScreenObject EventObject, int PlayerIndex)

Called when this widget is pressed. Not implemented by all widget types.

Parameters:

  • EventObject - Object that issued the event.
  • PlayerIndex - Player that performed the action that issued the event.

OnPressRelease[edit]

delegate OnPressRelease (UIScreenObject EventObject, int PlayerIndex)

Called when the widget is no longer being pressed. Not implemented by all widget types.

Parameters:

  • EventObject - Object that issued the event.
  • PlayerIndex - Player that performed the action that issued the event.

OnPressRepeat[edit]

delegate OnPressRepeat (UIScreenObject EventObject, int PlayerIndex)

Called when the widget been pressed and the user is holding the button down. Not implemented by all widget types.

Parameters:

  • EventObject - Object that issued the event.
  • PlayerIndex - Player that performed the action that issued the event.

OnQueryToolTip[edit]

delegate bool OnQueryToolTip (UIObject Sender, out UIToolTip CustomToolTip)

Called when this widget (or one of its children) becomes the ActiveControl. Provides a way for child classes or containers to easily override or short-circuit the standard tooltip that is normally shown. If this delegate is not assigned to any function, the default tool-tip will be displayed if this widget has a data store binding property named "ToolTipBinding" which is bound to a valid data store.

Parameters:

  • Sender - the widget that will be displaying the tooltip
  • CustomToolTip - to provide a custom tooltip implementation, fill in in this value and return TRUE. The custom tool tip object will then be activated by native code.

Returns:

return FALSE to prevent any tool-tips from being shown, including parents.

OnRefreshSubscriberValue[edit]

delegate bool OnRefreshSubscriberValue (UIObject Sender, int BindingIndex)

Called when this widget receives a call to RefreshSubscriberValue.

Parameters:

  • Sender - the widget that is refreshing their value
  • BindingIndex - optional parameter for indicating which data store binding is being refreshed, for those objects which have multiple data store bindings. How this parameter is used is up to the class which implements this interface, but typically the "primary" data store will be index 0, while values greater than FIRST_DEFAULT_DATABINDING_INDEX correspond to tooltips and context menus.

Returns:

TRUE to indicate that this widget is going to refresh its value manually.

OnUIAnimEnd[edit]

delegate OnUIAnimEnd (UIObject AnimTarget, int AnimIndex, UIAnimationSeq AnimSeq)

If set, this delegate is called whenever an animation is finished

OnValueChanged[edit]

delegate OnValueChanged (UIObject Sender, int PlayerIndex)

Called when the value of this UIObject is changed. Only called for widgets that contain data values.

Parameters:

  • Sender - the UIObject whose value changed
  • PlayerIndex - the index of the player that generated the call to this method; used as the PlayerIndex when activating UIEvents; if not specified, the value of GetBestPlayerIndex() is used instead.

Functions[edit]

Native functions[edit]

See UIObject native functions.

Events[edit]

ClearUIAnimation[edit]

event ClearUIAnimation (name AnimName, optional UIAnimationSeq AnimSeq)

Clears the animation from the stack. Stopping an animation (either naturally or by force) doesn't remove the effects. In those cases you need to clear the animation from the stack.

NOTE: This only affects position and rotation animations. All other animations are destructive and can't be easilly reset.

Parameters:

  • AnimName - The Name of the animation to play
  • AnimSeq - Optional sequence to use. In case you don't know the name

PlayUIAnimation[edit]

event PlayUIAnimation (name AnimName, optional UIAnimationSeq AnimSeqTemplate, optional float PlaybackRate, optional bool bLoop, optional float InitialPosition)

Play an animation on this UIObject

Parameters:

  • AnimName - The Name of the Animation to play
  • AnimSeq - Optional, A Sequence Template. If that's set, we use it instead
  • PlaybackRate - Optional, How fast to play back the sequence
  • InitialPosition - Optional, Where in the sequence should we start

StopUIAnimation[edit]

event StopUIAnimation (name AnimName, optional UIAnimationSeq AnimSeq, optional bool bFinalize)

Stop an animation that is playing.

Parameters:

  • AnimName - The Name of the animation to play
  • AnimSeq - Optional sequence to use. In case you don't know the name
  • bFinalize - If true, we will force the end frame

UIAnimEnd[edit]

event UIAnimEnd (int SeqIndex)

AnimEnd is always called when an animation stops playing either by ending, or when StopAnim is called on it. It's responsible for unsubscribing from the scene client and performing any housekeeping

Other instance functions[edit]

GetOwner[edit]

final function UIObject GetOwner ()

Returns the owner of this widget

GetParent[edit]

function UIScreenObject GetParent ()

Overrides: UIScreenObject.GetParent

Returns the scene or widget that contains this widget in its Children array.

GetScene[edit]

final function UIScene GetScene ()

Returns the scene that owns this widget

LogRenderBounds[edit]

function LogRenderBounds (int Indent)


OnSetDatastoreBinding[edit]

function OnSetDatastoreBinding (UIAction_SetDatastoreBinding Action)

Kismet Action Handlers