Class ResourcePreviewWindow

The ResourcePreviewWindow implements a DockableEditorWindow that can be used to preview scene relevant Resource such as meshes and materials under different lighting presets in editor.

The window provides a toolbar with buttons to switch between different presets and to focus the scene. Essentially, this window is a wrapper around the UIPreviewSceneRenderer class.

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Events

Constructors

Properties

_presetButtons: UIToggle[]
_sceneRenderer: UIPreviewSceneRenderer
_toolBar: UIToolBar
onActionTriggeredFocusScene: (() => void)

Focuses the active scene.

onActionTriggeredSelectMesh: (() => void)

Selects a viewport mesh.

toolbarButtonNames: {
    focus: string;
    redraw: string;
    selectMesh: string;
}

The names of all toolbar buttons of the main toolbar.

windowContentPadding: RectOffset

The default window content padding to be used for editor windows.

windowPadding: number

The default window padding.

Accessors

  • get active(): boolean
  • Checks whether the window the currently active window in its container. This means the window's tab is active or the window is the only one in its container.

    Returns boolean

  • get bounds(): Immutable<Rect2>
  • Returns the bounds of the window in pixels, relative to its parent container in points.

    Returns Immutable<Rect2>

  • get boundsInPixels(): Immutable<Rect2>
  • Returns the bounds of the window in pixels, relative to its parent container in pixels.

    Returns Immutable<Rect2>

  • get containerWindow(): EditorWindow
  • Gets the parent editor window this window is docked in. Can be null (for example when window is in the process of dragging and not visible).

    Returns EditorWindow

  • get contentBoundsInPixels(): Immutable<Rect2>
  • Returns the bounds of the contents of the window in pixels, regardless of whether the window is docked or not.

    Returns Immutable<Rect2>

  • get contentHeight(): number
  • Returns the height of the window contents in points.

    Returns number

  • get contentHeightInPixels(): number
  • Returns the height of the window contents in pixels.

    Returns number

  • get contentWidth(): number
  • Returns the width of the window contents in points.

    Returns number

  • get contentWidthInPixels(): number
  • Returns the width of the window contents in pixels.

    Returns number

  • get dpiScale(): number
  • Returns the DPI scale factor.

    Returns number

    The DPI scale is in relation to a 1x base resolution of 75 DPI.

  • get height(): number
  • Returns the height of the window in points.

    Returns number

  • get heightInPixels(): number
  • Sets the height of the window in pixels.

    Returns number

  • set heightInPixels(value): void
  • Parameters

    • value: number

    Returns void

  • get icon(): Image
  • Gets the icon for the window.

    Returns Image

  • set icon(value): void
  • Gets the icon for the window.

    Parameters

    Returns void

  • get isDestroyed(): boolean
  • Determines whether the window has been destroyed or not.

    Returns boolean

  • get isFocused(): boolean
  • Makes the window in or out focus. Surface can only be made in focus if it is active.

    Returns boolean

  • set isFocused(value): void
  • Checks whether the window currently has keyboard focus.

    Parameters

    • value: boolean

    Returns void

  • get isInitialized(): boolean
  • Checks has the TypeScript window been initialized.

    Returns boolean

  • get isPointerHovering(): boolean
  • Determines is the mouse pointer currently hovering over the editor window.

    Returns boolean

  • get left(): number
  • Returns the X position of the window in screen coordinates in points.

    Returns number

  • get localShortcutContext(): ShortcutContext
  • Specifies the local shortcut context. This context will be automatically disabled whenever the user switches focus from the context.

    Returns ShortcutContext

  • Returns MenuItemDelegate

  • Parameters

    Returns void

  • get name(): string
  • Gets a unique name for this window. This name will be used for referencing the window by other systems.

    Returns string

  • get position(): Immutable<Vector2>
  • Determines the position in which the key window is, in screen coordinates.

    Returns Immutable<Vector2>

  • get previewContentRoot(): SceneObject
  • Gets the preview scene content root.

    Returns SceneObject

    Only available once the onPreviewSceneInitialized was fired.

  • get renderWindow(): RenderWindow
  • Gets the RenderWindow associated with this EditorWindow.

    Returns RenderWindow

  • get sceneGizmos(): SceneGizmos
  • Gets the scene gizmos.

    Returns SceneGizmos

    Only available once the onPreviewSceneInitialized was fired.

  • get sceneInstance(): SceneInstance
  • Gets the preview scene instance.

    Returns SceneInstance

    Only available once the onPreviewSceneInitialized was fired.

  • get screenBoundsInPixels(): Immutable<Rect2>
  • Returns the bounds of the window in pixels, relative to its parent container in pixels.

    Returns Immutable<Rect2>

  • get shortcutContext(): ShortcutContext
  • Specifies the global shortcut context. This context will be always enabled as long as the window is active.

    Returns ShortcutContext

  • get shouldHandleInput(): boolean
  • Checks if the window should handle input. This can be used by window implementations to check before handling input events.

    Returns boolean

  • get title(): I18N
  • Gets the display name for the window. This is what editor users will see in the window title bar.

    Returns I18N

  • set title(value): void
  • Parameters

    Returns void

  • get toolbar(): UIToolBar
  • The main toolbar.

    Returns UIToolBar

  • get top(): number
  • Returns the X position of the window in screen coordinates in points.

    Returns number

  • get ui(): UIPanel
  • Returns UIPanel

  • get undoRedo(): UndoRedo
  • Get the local undo redo of the window.

    Returns UndoRedo

  • get viewportCamera(): ViewportCamera
  • Gets the viewport camera.

    Returns ViewportCamera

    Only available once the onPreviewSceneInitialized was fired.

  • get width(): number
  • Returns the width of the window in points.

    Returns number

  • get widthInPixels(): number
  • Sets the width of the window in pixels.

    Returns number

  • set widthInPixels(value): void
  • Parameters

    • value: number

    Returns void

Methods

  • Add support to the given Drop data type.

    Parameters

    • osDropType: EnumValue<OSDropDataType, number>

      The type of the data from OS to support.

    • actionName: string

      The text representing the action of dropping into this window.

    Returns void

  • Applies the specified camera settings.

    Parameters

    Returns boolean

  • Closes the window but keeps it on the dock manager. Calling raise will make it visible again.

    Returns void

  • Initializes the main toolbar of the window

    Returns void

  • Loads the preview scene template at the specified index.

    Parameters

    • indexOrName: string | number

    Returns void

  • Virtual

    Method to override to implement destruction of custom windows. Called by the engine before the window is destroyed.

    Returns void

  • Handles a drag and drop window event.

    Returns void

  • Virtual

    Method to override to implement custom behavior of a window, called by the engine once per frame.

    Returns void

  • Virtual

    Method to override to implement custom behavior of a window, called by the engine once per frame, once all the windows had their onEditorUpdate() method called.

    Returns void

  • Virtual

    Method to override to implement initialization of custom windows. Called by the engine after window creation.

    Parameters

    • options: any

    Returns void

  • Virtual

    Called whenever window visibility changed.

    Parameters

    • isVisible: boolean

    Returns void

    Implementing classes must call super.

  • Virtual

    Triggered whenever the window gains or loses focus.

    Parameters

    • inFocus: boolean

      True if focus was gained, false otherwise.

    Returns void

  • Virtual

    Triggered whenever the window size changes.

    Parameters

    • width: number

      New width of the window in pixels.

    • height: number

      New height of the window in pixels.

    Returns void

  • Brings the editor window to focus. If it is docked, it's dock container will switch to the window's tab or if undocked the floating window will gain focus.

    Returns void

  • Rebuilds the currently loaded scene.

    Returns void

  • Makes the window active in its container. This means the widgets tab is active and the window is visible.

    Returns void

  • Switches active preview preset. Check ProjectSettings.getPreviewScenePreset for reference.

    Parameters

    • value: number

      Preset index

    Returns void

  • Defines the window maximum width and height in points.

    Parameters

    • maxWidth: number
    • maxHeight: number

    Returns void

  • Defines the window minimum width and height in points.

    Parameters

    • minWidth: number

      The minimum width of the window in points.

    • minHeight: number

      The minimum height of the window in points.

    Returns void

  • Moves the window on the desktop. Coordinates are in screen space using points.

    Parameters

    • x: number
    • y: number

    Returns void

  • Moves the window on the desktop. Coordinates are in screen space using pixels.

    Parameters

    • x: number
    • y: number

    Returns void

  • Sets the resources to be previewed.

    Parameters

    Returns boolean

    The resource will begin loading in the next call to onEditorUpdate.

  • Resizes the window using a width and height in points.

    Parameters

    • width: number
    • height: number

    Returns void

  • Resizes the window using a width and height in pixels.

    Parameters

    • width: number
    • height: number

    Returns void

  • Preview element with given path. Creates a new window if one does not exist.

    Parameters

    Returns void

Events

onPreviewSceneInitialized: Event<[], void>

The event is invoked when the preview scene has been fully initialized.

onResized: Event<[number, number], void>

Triggered whenever window size changes.

onDPIChanged: Event<[], void>

Triggered whenever window's screen dpi changes.

onMoved: Event<[number, number], void>

Triggered whenever window position changes.

onFocusChanged: Event<[boolean], void>

Triggered whenever window receives or loses focus.

onOSDropEnter: Event<[number, number], void>

Triggered when the user do a OS drag on top of this window.

onOSDropLeave: Event<[], void>

Triggered when the user leaves the mouse from a OS drop.

onOSDropCommit: Event<[number, number, readonly Immutable<OSDropData>[]], void>

Triggered when the user actually drops something on top of this window.

onFocusChangedInternal: Event<[boolean], void>