
C# | Visual Basic | Visual C++ |
public abstract class InteractiveComponent : InvalidationManagerClient, IFocusComponent, IFocusManagerClient
Public MustInherit Class InteractiveComponent _ Inherits InvalidationManagerClient _ Implements IFocusComponent, IFocusManagerClient
public ref class InteractiveComponent abstract : public InvalidationManagerClient, IFocusComponent, IFocusManagerClient

All Members | Constructors | Methods | Properties | Fields | |
Icon | Member | Description |
---|---|---|
![]() | InteractiveComponent()()()() | Initializes a new instance of the InteractiveComponent class |
![]() | _depth | (Inherited from DisplayListMember.) |
![]() | ActionKeys |
The collection of KeyCode which should fire action events
(like PRESS event of button when in focus)
|
![]() | AddChild(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | AddChildAt(DisplayListMember, Int32) | (Inherited from DisplayObjectContainer.) |
![]() | AddEventListener(String, EventHandler) |
AddEventListener Overload
Assumes that useCapturePhase is false
(Inherited from DisplayListMember.) |
![]() | AddEventListener(String, EventHandler, EventPhase, Int32) |
Adds the event listener
(Inherited from EventDispatcher.) |
![]() | AddEventListener(String, EventHandler, EventPhase) |
Adds the event listener
(Inherited from EventDispatcher.) |
![]() | AddEventListener(String, EventHandler, Int32) |
Adds the event listener
(Inherited from EventDispatcher.) |
![]() | Alpha |
Alpha
(Inherited from DisplayObject.) |
![]() | AutoDisposeData | (Inherited from DisplayObject.) |
![]() | AutoUpdateDrawingList |
If true, the drawing list will update after each child addition or removal
The process of updating is being optimized by the Container
However, with DisplayObjectContainer it is not beacuse there are no invalidation methods
We might choose to optimize the process, set this to false and call the InvalidateDrawingList() manually
(Inherited from DisplayObjectContainer.) |
![]() | Bounds |
Bounds relative to Owner (bakes rect)
(Inherited from DisplayObject.) |
![]() | BringToFront()()()() |
Bring to front
(Inherited from DisplayListMember.) |
![]() | CanSkipMeasurement()()()() | (Inherited from InvalidationManagerClient.) |
![]() | Children |
The child components of the container
(Inherited from DisplayObjectContainer.) |
![]() | ChildrenCreated()()()() |
Runs after all the children have been created
(Inherited from InvalidationManagerClient.) |
![]() | Click | |
![]() | ColorEnd()()()() | (Inherited from DisplayObject.) |
![]() | ColorStart()()()() | (Inherited from DisplayObject.) |
![]() | CommitProperties()()()() | (Overrides InvalidationManagerClient.CommitProperties()()()().) |
![]() | Contains(DisplayListMember) |
Returns true if child is the descendant of the component or the component itself
Non-exclusive variant
(Inherited from DisplayObjectContainer.) |
![]() | Contains(DisplayListMember, Boolean) | (Inherited from DisplayObjectContainer.) |
![]() | ContainsPoint(Point, Boolean) |
The place where the developer could implement the custom logic after the child removal
(Inherited from DisplayObjectContainer.) |
![]() | Content |
GUIContent
This is the content used by Unity when rendering pieces of GUI
GUIContent consists of icon and label
(Inherited from DisplayObject.) |
![]() | CreateChildren()()()() |
Creates component's children
(Inherited from InvalidationManagerClient.) |
![]() | Created |
Is component created
|
![]() | CreationComplete()()()() |
Runs after the creation hase been completed
(Inherited from InvalidationManagerClient.) |
![]() | Data |
The arbitrary data attached to this piece of GUI
(Inherited from DisplayObject.) |
![]() ![]() | DebugMode | |
![]() | DecreaseSkipFrameCount()()()() | (Inherited from DisplayObject.) |
![]() | Defer(DisplayObject..::..DeferedCall, Int32, array<Object>[]()[][]) |
Defers the function call for a given number of frames
(Inherited from DisplayObject.) |
![]() | Depth |
Crutial for fixing ScrollView and TextField click-throughs
(Inherited from DisplayListMember.) |
![]() | DispatchEvent(Event, Boolean) |
Dispatches an event with the option of late processing (immediate = TRUE/FALSE)
(Inherited from EventDispatcher.) |
![]() | DispatchEvent(Event) |
Dispatches an event immediatelly
(Inherited from EventDispatcher.) |
![]() | DispatchPropertyChangeEvent(String, Object, Object) | (Inherited from InvalidationManagerClient.) |
![]() | DispatchStyleChanges |
Should this component dispatch style changes events (optimization)
|
![]() | Dispose()()()() | Releases all resources used by the InteractiveComponent (Overrides DisplayObject.Dispose()()()().) |
![]() | DoubleClick | |
![]() | Draw()()()() | (Inherited from DisplayObject.) |
![]() | DrawFocus(Boolean) | |
![]() | Enabled |
The component enabled/disabled state
|
![]() | EnqueueEvent(Event) | (Inherited from InvalidationManagerClient.) |
![]() | Equals(Object) | (Inherited from Object.) |
![]() | ExecuteListeners(Event) |
Executes event handlers listening for a particular event type
(Inherited from EventDispatcher.) |
![]() | ExplicitHeight |
The explicit height of the component (in pixels) (Inherited from InvalidationManagerClient.)When set, it resets PercentHeight property to null |
![]() | ExplicitMaxHeight |
Explicit max height
(Inherited from InvalidationManagerClient.) |
![]() | ExplicitMaxWidth |
Explicit max width
(Inherited from InvalidationManagerClient.) |
![]() | ExplicitMinHeight |
Explicit min height
(Inherited from InvalidationManagerClient.) |
![]() | ExplicitMinWidth |
Explicit min width
(Inherited from InvalidationManagerClient.) |
![]() | ExplicitWidth |
The explicit width of the component (in pixels) (Inherited from InvalidationManagerClient.)When set, it resets PercentWidth property to null |
![]() | Finalize()()()() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | FirstShow |
The event that fires when the component is shown for the first time
(Inherited from DisplayObject.) |
![]() ![]() | FOCUS_OUT_UID | |
![]() | FocusEnabled |
Is the component is set to focus via FocusManager
Handled by Component in click processing
if ProcessClicks is true
|
![]() | FocusIn | |
![]() | FocusInHandler(Event) |
Executes when the component focus in is requested
|
![]() | FocusOut | |
![]() | FocusOutHandler(Event) |
Executes when the component focus out is requested
|
![]() | FocusRender()()()() | (Overrides DisplayObject.FocusRender()()()().) |
![]() | FocusRenderSignal |
The signal that emits just before the focus render
(Inherited from DisplayObject.) |
![]() | FocusRouting |
Focus routing
|
![]() | GetChildAt(Int32) | (Inherited from DisplayObjectContainer.) |
![]() | GetChildComponent(String) |
Finds a child component by ID
|
![]() | GetChildIndex(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | GetExplicitOrMeasuredHeight()()()() |
Returns explicit height if set. Else returns the measured height (Inherited from InvalidationManagerClient.) |
![]() | GetExplicitOrMeasuredWidth()()()() |
Returns explicit width if set. Else returns the measured width
(Inherited from InvalidationManagerClient.) |
![]() | GetHashCode()()()() | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType()()()() | Gets the type of the current instance. (Inherited from Object.) |
![]() | GlobalToLocal(Point) | (Inherited from DisplayListMember.) |
![]() | GlobalToLocal(Rectangle) | (Inherited from DisplayListMember.) |
![]() | HasBubblingEventListener(String) |
IMPORTANT
Here we plug in the event traverser for GUI components
(Inherited from DisplayListMember.) |
![]() | HasChild(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | HasEventListener(String) |
Returns true if EventDispatcher has any registered listeners for a specific type and phase
(Inherited from EventDispatcher.) |
![]() | HasExplicitFocus |
Does a component have an explicit focus
|
![]() | HasFocus |
Does a component have focus (including its children)
|
![]() | HasFocusableChildren | |
![]() | Height | (Inherited from InvalidationManagerClient.) |
![]() | HideHandler |
The event that fires when the component is hidden
(Inherited from DisplayObject.) |
![]() | HighlightOnFocus |
Does a component highlight when focused
|
![]() | HotControlId |
This method is run each time that any style has been changed
|
![]() | Id |
Component ID used by developer for locating the component via ComponentManager (Overrides DisplayListMember.Id.)Must be unique in the application |
![]() | IncludeInLayout |
Is component processed in LayoutChildren()?
(Inherited from InvalidationManagerClient.) |
![]() | InitializationComplete()()()() |
Runs after the initialization has been completed
(Inherited from InvalidationManagerClient.) |
![]() | Initialize()()()() |
Initializes the component
Called by the parent upon first addition
At this state all the properties have been set
Sets child's Owner and reference to Stage
Sets Skin
(Inherited from InvalidationManagerClient.) |
![]() | InitializeContent()()()() | (Overrides DisplayObject.InitializeContent()()()().) |
![]() | Initialized |
A flag that determines if an object has been through all three phases
of layout: commitment, measurement, and layout (provided that any were required)
(Inherited from InvalidationManagerClient.) |
![]() | InitializeStyle()()()() |
Initializes Style
(Inherited from DisplayObject.) |
![]() | InitTransform()()()() | (Inherited from InvalidationManagerClient.) |
![]() | InternalStructureBuilt |
Is the component initialized (added to parent for the first time)
(Inherited from InvalidationManagerClient.) |
![]() | InvalidateDisplayList()()()() |
A lifecycle method
Invalidates layout
(Inherited from InvalidationManagerClient.) |
![]() | InvalidateParentSizeAndDisplayList()()()() |
Invalidates parent's size and layout
if parent exists
Should be internal, but cannot because of the interface
(Inherited from InvalidationManagerClient.) |
![]() | InvalidateProperties()()()() |
A lifecycle method
Invalidates properties
(Inherited from InvalidationManagerClient.) |
![]() | InvalidateSize()()()() |
A lifecycle method
Invalidates size
(Inherited from InvalidationManagerClient.) |
![]() | InvalidateTransform()()()() |
A lifecycle method
Invalidates position
(Inherited from InvalidationManagerClient.) |
![]() | IsActionKey(KeyCode) |
Check if supplied key is registered as action key
|
![]() | IsDefaultPrevented(String, Boolean) |
Exposes the cancelable event to the outside if there are listeners for that event type
If default prevented, returns false
If not, returns true
(Inherited from EventDispatcher.) |
![]() | IsDefaultPrevented(String) |
No-bubbling version
(Inherited from EventDispatcher.) |
![]() | IsFocusable | |
![]() | IsInFocus | |
![]() | IsOurFocus(DisplayObject) | |
![]() | KeyDown | |
![]() | KeyDownFilter |
The collection of KeyCode which should fire the KeyDown
If the collection is empty, no filter is applied
|
![]() | KeyDownHandler(Event) |
KeyDown handler
NOTE: We do the filtering here (in the local handler),
but dispatching happens always (when component in focus) - no metter of filtering
This is needed for event bubbling (because perhaps parent component wants to react on key that is filtered by this component)
|
![]() | KeyUp | |
![]() | KeyUpFilter |
The collection of KeyCode which should fire the KeyUp
If the collection is empty, no filter is applied
|
![]() | KeyUpHandler(Event) |
KeyUp handler
NOTE: We do the filtering here (in the local handler),
but dispatching happens always (when component in focus) - no metter of filtering
This is needed for event bubbling (because perhaps parent component wants to react on key that is filtered by this component)
|
![]() | LocalRenderingRect |
The rendering Rect
This is the optimization technique: since we are using Rectangle class for internal calculations, and Unity uses Rects to render components,
To avoid constant conversions from Rectangle to Rect, we are converting only when needed (when coordinates or size change)
We update this variable on change
(Inherited from DisplayObject.) |
![]() | LocalToGlobal(Point) |
Overriding Y
If parent is container, then the position internals will be updated via InvalidationManager
But if parent is not a container (it's only a component, like ComboBox) we have to update position internals here
(Inherited from DisplayListMember.) |
![]() | LocalToGlobal(Rectangle) | (Inherited from DisplayListMember.) |
![]() | MappedToAnyPhase(String, EventHandler, EventPhase) |
Returns true if handler is mapped to any of the specified phases
(Inherited from EventDispatcher.) |
![]() | MaxHeight |
Maximal Height for percentage-based component
(Inherited from InvalidationManagerClient.) |
![]() | MaxWidth |
Maximal Width for percentage-based component
(Inherited from InvalidationManagerClient.) |
![]() | Measure()()()() | (Inherited from InvalidationManagerClient.) |
![]() | MeasuredHeight |
Measured height
Set by the measuring process
(Inherited from InvalidationManagerClient.) |
![]() | MeasuredMinHeight |
Measured min height
The min height of the component
Set by the measuring process
(Inherited from InvalidationManagerClient.) |
![]() | MeasuredMinWidth |
Measured min width
The min width of the component
Set by the measuring process
(Inherited from InvalidationManagerClient.) |
![]() | MeasuredWidth |
Measured width
Set by the measuring process
(Inherited from InvalidationManagerClient.) |
![]() | MemberwiseClone()()()() | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | MiddleClick | |
![]() | MiddleDoubleClick | |
![]() | MiddleMouseDown | |
![]() | MiddleMouseUp | |
![]() | MinHeight |
Minimal height
(Inherited from InvalidationManagerClient.) |
![]() | MinWidth |
Minimal width
(Inherited from InvalidationManagerClient.) |
![]() | MouseChildren |
Should the children of this container be tested for mouse events
(Inherited from DisplayObjectContainer.) |
![]() | MouseDown | |
![]() | MouseDownOutside | |
![]() | MouseEnabled |
Is mouse position processed when moved
Use wisely - performance costing
|
![]() | MouseFocusEnabled |
Whether the component can receive focus when clicked on
|
![]() | MouseMove | |
![]() | MouseOut | |
![]() | MouseOver | |
![]() | MouseUp | |
![]() | MouseWheel | |
![]() | MouseWheelOutside | |
![]() | Move(Single, Single) |
Moves the component to a position specified with (x, y)
(Inherited from InvalidationManagerClient.) |
![]() | Move(Point) |
Moves the component to a specified position
(Inherited from InvalidationManagerClient.) |
![]() | NestLevel |
NestLevel (Inherited from InvalidationManagerClient.)Used for invalidation: this is a property of the DisplayObject class because DisplayObjects could also have InvalidationManagerClients as children, so they must know how to pass the NestLevel to these children |
![]() | NumberOfChildren |
Number of children
(Inherited from DisplayObjectContainer.) |
![]() | OnLayoutUpdateComplete()()()() | (Inherited from InvalidationManagerClient.) |
![]() | OptimizeMeasureCalls |
The flag is telling if the measurement optimization is turned on
If it is, then if CanSkipMeasurement() returns true (because of the explicit sizes)
the component never gets measured
However, when changing the component dimensions from the outside (using Resizable for instance)
we would like to know min/max dimensions to know how much we can contract/expand
Thus we should switch this optimization off for this kind of components
NOTE: true by default
(Inherited from InvalidationManagerClient.) |
![]() | OverlayRender()()()() |
Post-draw logic
Renders component overlay layer
(Inherited from DisplayObject.) |
![]() | OverlayRenderSignal |
The signal that emits just before the overlay render
(Inherited from DisplayObject.) |
![]() | Owner |
The owner of this component
(Inherited from DisplayListMember.) |
![]() | Parent |
A parent container (Inherited from DisplayListMember.)Set by framework Has to be set for every component on stage except Stage |
![]() | PercentHeight |
The percent height of the component (in pixels) (Inherited from InvalidationManagerClient.)When set, it resets ExplicitHeight property to null |
![]() | PercentWidth |
The percent height of the component (in pixels) (Inherited from InvalidationManagerClient.)When set, it resets ExplicitHeight property to null |
![]() | Plugins |
The list of plugins
(Inherited from InvalidationManagerClient.) |
![]() | Position |
Position
(Inherited from DisplayObject.) |
![]() | PostRender()()()() |
Post-draw logic
Switching off Alpha, scrollbars and clipping
(Inherited from DisplayObject.) |
![]() | PostRenderSignal |
The signal that emits after render
(Inherited from DisplayObject.) |
![]() | PreRender()()()() | (Overrides DisplayObject.PreRender()()()().) |
![]() | PreRenderSignal |
The signal that emits before before render
(Inherited from DisplayObject.) |
![]() | ProcessEvent(Event) |
Override of processing events
(Inherited from DisplayListMember.) |
![]() | ProcessKeys |
Processes key up/downs
Use wisely - performance costing
|
![]() | ProcessQueue()()()() | (Inherited from InvalidationManagerClient.) |
![]() | QAddChild(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | QAddChildAt(DisplayListMember, Int32) |
The main add child method
(Inherited from DisplayObjectContainer.) |
![]() | QChildren | (Inherited from DisplayObjectContainer.) |
![]() | QContains(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | QContains(DisplayListMember, Boolean) |
Returns true if child is the descendant of the component or the component itself
(Inherited from DisplayObjectContainer.) |
![]() | QDrawingList |
The list of components ordered by child Depth (Inherited from DisplayObjectContainer.)Used for rendering The rendering order might have different than layout order |
![]() | QGetChildAt(Int32) | (Inherited from DisplayObjectContainer.) |
![]() | QGetChildIndex(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | QHasChild(DisplayListMember) |
Checks if this is a Owner of a component
(Inherited from DisplayObjectContainer.) |
![]() | QNumberOfChildren | (Inherited from DisplayObjectContainer.) |
![]() | QRemoveAllChildren()()()() | (Inherited from DisplayObjectContainer.) |
![]() | QRemoveChild(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | QRemoveChildAt(Int32) | (Inherited from DisplayObjectContainer.) |
![]() | QSetChildIndex(DisplayListMember, Int32) |
Sets child index
(Inherited from DisplayObjectContainer.) |
![]() | QSwapChildren(DisplayListMember, DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | QVisible |
Note: never make this property virtual and override it
This property reflects the true nature of component visibility
This is important because the components are being hidden during the instantiation, and shown on creation complete
This is the way to find out the desired visibility state (some of them might want to be hidden)
(Inherited from DisplayObject.) |
![]() | RegisterComponent()()()() | |
![]() | RemoveAllChildren()()()() | (Inherited from DisplayObjectContainer.) |
![]() | RemoveAllListeners(String) |
Removes all listeners for the spacified event type (both capture and bubbling phase)
(Inherited from EventDispatcher.) |
![]() | RemoveAllListeners(String, EventPhase) |
Removes all listeners for the spacified event type and phases
(Inherited from EventDispatcher.) |
![]() | RemoveChild(DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | RemoveChildAt(Int32) | (Inherited from DisplayObjectContainer.) |
![]() | RemoveEventListener(String, EventHandler) | (Inherited from DisplayListMember.) |
![]() | RemoveEventListener(String, EventHandler, EventPhase) |
Removes the event listener
(Inherited from EventDispatcher.) |
![]() | Render()()()() | (Inherited from DisplayObjectContainer.) |
![]() | RenderChildren()()()() |
Renders container's children
(Inherited from DisplayObjectContainer.) |
![]() | RenderDoneSignal |
The signal that emits after the render is complete
(Inherited from DisplayObject.) |
![]() | RenderingRect |
The rendering Rect
This is the optimization technique: since we are using Rectangle class for internal calculations, and Unity uses Rects to render components,
To avoid constant conversions from Rectangle to Rect, we are converting only when needed (when coordinates or size change)
We update this variable on change
(Inherited from DisplayObject.) |
![]() | RenderSignal |
The signal that emits before render
(Inherited from DisplayObject.) |
![]() | ResizeWithContent |
A flag indicating if component size depends of the content size
(Inherited from InvalidationManagerClient.) |
![]() | ResizeWithStyleBackground |
A flag indicating if component size depends of the style background size
(Inherited from InvalidationManagerClient.) |
![]() | RightClick | |
![]() | RightDoubleClick | |
![]() | RightMouseDown | |
![]() | RightMouseUp | |
![]() | RollOut | |
![]() | RollOver | |
![]() | Rotation |
Rotation
The pivot point is the center of the component
(Inherited from DisplayObject.) |
![]() | RotationEnd()()()() | (Inherited from DisplayObject.) |
![]() | RotationPivot |
Rotation pivot
(Inherited from DisplayObject.) |
![]() | RotationStart()()()() | (Inherited from DisplayObject.) |
![]() | Scale |
Scale
The pivot point is the center of the component
(Inherited from DisplayObject.) |
![]() | ScaleEnd()()()() | (Inherited from DisplayObject.) |
![]() | ScaleStart()()()() | (Inherited from DisplayObject.) |
![]() | SendToBack()()()() |
Send to back
(Inherited from DisplayListMember.) |
![]() | SetActualSize(Single, Single) |
Sets the temporary size
(Inherited from InvalidationManagerClient.) |
![]() | SetChildIndex(DisplayListMember, Int32) |
Sets child index
(Inherited from DisplayObjectContainer.) |
![]() | SetFocus()()()() |
Sets component to focus
|
![]() | SetLayoutBoundsPosition(Single, Single) | (Inherited from InvalidationManagerClient.) |
![]() | SetLayoutBoundsSize(Nullable<(Of <<'(Single>)>>), Nullable<(Of <<'(Single>)>>)) | (Inherited from InvalidationManagerClient.) |
![]() | SetVisible(Boolean, Boolean) | (Inherited from InvalidationManagerClient.) |
![]() | ShowHandler |
The event that fires when the component is shown
(Inherited from DisplayObject.) |
![]() | SkipRender(Int32) |
This is the approach of skipping the rendering process for N frames
Needed by effects which start tweening one frame too late
TODO: Investigate!
(Inherited from DisplayObject.) |
![]() | Stage | (Inherited from DisplayObjectContainer.) |
![]() | SupressEventPropagation |
Does this suppress event propagation to background (other stages or 3D)
|
![]() | SwapChildren(DisplayListMember, DisplayListMember) | (Inherited from DisplayObjectContainer.) |
![]() | TabFocusEnabled |
Whether the component can receive focus via the TAB key
|
![]() | TabIndex | |
![]() | Tooltip | (Overrides DisplayObject.Tooltip.) |
![]() | ToString()()()() | (Inherited from DisplayListMember.) |
![]() | Transform | (Inherited from DisplayObject.) |
![]() | TriggerEffect(String) |
Plays the styled effect if such style set
(Inherited from InvalidationManagerClient.) |
![]() | TriggerEffect(String, Object) |
Note: this has to go here because the container should be able to run children effects
And we don't want to use too much castinh in the code
(Inherited from DisplayListMember.) |
![]() | UpdateDisplayList(Single, Single) |
A lifecycle method
Updates layout
Top to bottom
(Inherited from InvalidationManagerClient.) |
![]() | ValidateDisplayList()()()() |
Validates layout
A lifecycle method
Top-down
(Inherited from InvalidationManagerClient.) |
![]() | ValidateNow()()()() |
A lifecycle method
Validates all (properties, position, size and layout)
(Inherited from InvalidationManagerClient.) |
![]() | ValidateProperties()()()() |
A lifecycle method
Validates properties
Top-down
(Inherited from InvalidationManagerClient.) |
![]() | ValidateSize(Boolean) |
Validates size layout
A lifecycle method
Bottom-up (Inherited from InvalidationManagerClient.) |
![]() | ValidateTransform()()()() |
Validates position
A lifecycle method
Top-down
(Inherited from InvalidationManagerClient.) |
![]() | Visible | (Overrides InvalidationManagerClient.Visible.) |
![]() | Width | (Inherited from InvalidationManagerClient.) |
![]() | X |
X coordinate
(Inherited from InvalidationManagerClient.) |
![]() | Y |
Y coordinate
(Inherited from InvalidationManagerClient.) |
