UE3:UIPrefab (UT3): Difference between revisions

From Unreal Wiki, The Unreal Engine Documentation Site
Auto-generated page
 
m formatting fixes
 
Line 6: Line 6:
| parent4 = Object
| parent4 = Object
}}
}}
{{autogenerated}}
This widget class is a container for widget archetypes.
This widget class is a container for widget archetypes.
Copyright 1998-2007 Epic Games, Inc. All Rights Reserved


Known issues:
Known issues:
- copy/paste operations aren't propagated to UIPrefabInstances
* copy/paste operations aren't propagated to UIPrefabInstances
- [FIXED] changes to parent/child relationships aren't propagated to UIPrefabInstances, including adding/removing/reparenting
* [FIXED] changes to parent/child relationships aren't propagated to UIPrefabInstances, including adding/removing/reparenting
- [FIXED] changes to custom input events (UUIEvent_MetaObject - WxDlgUIEvent_MetaObject) don't perform any change tracking/propagation
* [FIXED] changes to custom input events (UUIEvent_MetaObject - WxDlgUIEvent_MetaObject) don't perform any change tracking/propagation
- [FIXED] changes to PlayerInputMask don't seem to propagate correctly
* [FIXED] changes to PlayerInputMask don't seem to propagate correctly
- need support for specifying "input alias => raw input key" mappings for widget archetypes (UIInputAliasStateMap/UIInputAliasClassMap/UIInputConfiguration)
* need support for specifying "input alias => raw input key" mappings for widget archetypes (UIInputAliasStateMap/UIInputAliasClassMap/UIInputConfiguration)
- reformatting doesn't occur for instanced UIList widgets or widgets which have UIComp_DrawString components (either when placing or updating).
* reformatting doesn't occur for instanced UIList widgets or widgets which have UIComp_DrawString components (either when placing or updating).
- modifying docking relationships using the docking editor doesn't propagate changes to instances.
* modifying docking relationships using the docking editor doesn't propagate changes to instances.
- most changes made through kismet editor (adding new seq. objects, removing objects, etc.) aren't propagated to instances at all
* most changes made through kismet editor (adding new seq. objects, removing objects, etc.) aren't propagated to instances at all


==Properties==
==Properties==
Line 73: Line 70:
This struct is used for various purposes to track information about a widget instance and an associated archetype.
This struct is used for various purposes to track information about a widget instance and an associated archetype.
; {{cl|UIObject}} WidgetArchetype : Holds a reference to a widget archetype
; {{cl|UIObject}} WidgetArchetype : Holds a reference to a widget archetype
; {{cl|UIObject}} WidgetInstance : Holds a reference to the widget instance; depending on where this struct is used, could be an instance of WidgetArchetype
; {{cl|UIObject}} WidgetInstance : Holds a reference to the widget instance; depending on where this struct is used, could be an instance of WidgetArchetype or might be e.g. the widget instance used to create WidgetArchetype (when creating a completely new UIPrefab).
or might be e.g. the widget instance used to create WidgetArchetype (when creating a completely new UIPrefab).
; [[float]] ArchetypeBounds[4]  ''({{tl|EUIWidgetFace||UIRoot enums}}.UIFACE_MAX)'' : Used to stores the RenderBounds of WidgetArchetype in cases where WidgetArchetype is not in the scene's children array.
; [[float]] ArchetypeBounds[4]  ''({{tl|EUIWidgetFace||UIRoot enums}}.UIFACE_MAX)'' : Used to stores the RenderBounds of WidgetArchetype in cases where WidgetArchetype is not in the scene's children array.
; [[float]] InstanceBounds[4]  ''({{tl|EUIWidgetFace||UIRoot enums}}.UIFACE_MAX)'' : Used to stores the RenderBounds of WidgetInstance in cases where WidgetInstance is not in the scene's children array.
; [[float]] InstanceBounds[4]  ''({{tl|EUIWidgetFace||UIRoot enums}}.UIFACE_MAX)'' : Used to stores the RenderBounds of WidgetInstance in cases where WidgetInstance is not in the scene's children array.

Latest revision as of 11:58, 30 November 2008

UT3 Object >> UIRoot >> UIScreenObject >> UIObject >> UIPrefab
Package:
Engine
This class in other games:

This widget class is a container for widget archetypes.

Known issues:

  • copy/paste operations aren't propagated to UIPrefabInstances
  • [FIXED] changes to parent/child relationships aren't propagated to UIPrefabInstances, including adding/removing/reparenting
  • [FIXED] changes to custom input events (UUIEvent_MetaObject - WxDlgUIEvent_MetaObject) don't perform any change tracking/propagation
  • [FIXED] changes to PlayerInputMask don't seem to propagate correctly
  • need support for specifying "input alias => raw input key" mappings for widget archetypes (UIInputAliasStateMap/UIInputAliasClassMap/UIInputConfiguration)
  • reformatting doesn't occur for instanced UIList widgets or widgets which have UIComp_DrawString components (either when placing or updating).
  • modifying docking relationships using the docking editor doesn't propagate changes to instances.
  • most changes made through kismet editor (adding new seq. objects, removing objects, etc.) aren't propagated to instances at all

Properties

InternalPrefabVersion

Type: int

Modifiers: private, const

Version number for this prefab when it was loaded from disk. Used to determine whether a modification to a widget contained in this prefab should increment the PrefabVersion (i.e. PrefabVersion should only be incremented if InternalPrefabVersion matches PrefabVersion).

ModificationCounter

Type: int

Modifiers: transient, const

Used to track the number of calls to Pre/PostEditChange for widgets contained within this UIPrefab. When PreEditChange or PostEditChange is called on a widget contained within a UIPrefab, rather than calling the UObject version, it is instead routed to the owning UIPrefab.

When UIPrefab receives a call to PreEditChange, the UIPrefab calls SavePrefabInstances if ModificationCounter is 0, then increments the counter. When UIPrefab receives a call to PostEditChange, it decrements the counter and calls LoadPrefabInstances once it reaches 0.

PrefabPreview

Type: Texture2D

Modifiers: editoronly, const

Snapshot of Prefab used for thumbnail in the browser.

PrefabVersion

Type: int

Modifiers: const

Version number for this prefab. Each time a UIPrefab is saved, the PrefabVersion is incremented. This number is used to detect when UIPrefabInstances based on this prefab need to be updated.

Subobjects

WidgetEventComponent

Class: Engine.UIComp_Event

Inherits from: UIObject.WidgetEventComponent

No new values.

Structs

ArchetypeInstancePair

Modifiers: native, transient

This struct is used for various purposes to track information about a widget instance and an associated archetype.

UIObject WidgetArchetype
Holds a reference to a widget archetype
UIObject WidgetInstance
Holds a reference to the widget instance; depending on where this struct is used, could be an instance of WidgetArchetype or might be e.g. the widget instance used to create WidgetArchetype (when creating a completely new UIPrefab).
float ArchetypeBounds[4] (EUIWidgetFace.UIFACE_MAX)
Used to stores the RenderBounds of WidgetArchetype in cases where WidgetArchetype is not in the scene's children array.
float InstanceBounds[4] (EUIWidgetFace.UIFACE_MAX)
Used to stores the RenderBounds of WidgetInstance in cases where WidgetInstance is not in the scene's children array.