I love the smell of UnrealEd crashing in the morning. – tarquin
Difference between revisions of "UE3:UIPrefab (UT3)"
(Auto-generated page) |
m (formatting fixes) |
||
Line 6: | Line 6: | ||
| parent4 = Object | | parent4 = Object | ||
}} | }} | ||
− | |||
This widget class is a container for widget archetypes. | This widget class is a container for widget archetypes. | ||
− | |||
− | |||
Known issues: | 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== | ==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 10:58, 30 November 2008
Object >> UIRoot >> UIScreenObject >> UIObject >> UIPrefab |
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[edit]
InternalPrefabVersion[edit]
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[edit]
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[edit]
Type: Texture2D
Modifiers: editoronly, const
Snapshot of Prefab used for thumbnail in the browser.
PrefabVersion[edit]
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[edit]
WidgetEventComponent[edit]
Class: Engine.UIComp_Event
Inherits from: UIObject.WidgetEventComponent
No new values.
Structs[edit]
ArchetypeInstancePair[edit]
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.