Options
All
  • Public
  • Public/Protected
  • All
Menu

A Tile is an implementation of PlaceableObject which represents a static piece of artwork or prop within the Scene. Tiles are drawn inside the TilesLayer container.

see

TileDocument

see

TilesLayer

Hierarchy

Index

Constructors

  • new Tile(document: any): Tile

Properties

frame: any

The Tile border frame

property

{PIXI.Graphics} border

property

{ResizeHandle} handle

texture: Texture

The primary tile image texture

tile: Sprite

The Tile image sprite

bg: any

A Tile background which is displayed if no valid image texture is present

playing: boolean = false

A flag which tracks if the Tile is currently playing

mesh: any
cursor: string
visible: any
alpha: number
hitArea: any
zIndex: any
_dragHandle: boolean
_dragScaleX: number
_dragScaleY: number
scene: Scene

Retain a reference to the Scene within which this Placeable Object resides

document: Document

A reference to the Scene embedded Document instance which this object represents

vision: { fov: Circle; los: PointSourcePolygon }

Track the field of vision for the placeable object. This is necessary to determine whether a player has line-of-sight towards a placeable object or vice-versa

Type declaration

controlIcon: ControlIcon

A control icon for interacting with the object

mouseInteractionManager: MouseInteractionManager

A mouse interaction manager instance which handles mouse workflows related to this object.

cullable: boolean
renderable: any
_preview: any
_dragPassthrough: boolean = false

Passthrough certain drag operations on locked objects.

_isHoverIn: boolean = false

Know if a placeable is in the hover-in state.

#bounds: Rectangle

The true computed bounds of the Tile. These true bounds are padded when the Tile is controlled to assist with interaction.

#unlinkedVideo: boolean = false

A flag to capture whether this Tile has an unlinked video texture

#hudVideoOptions: any = ...

Video options passed by the HUD

#wasRoof: boolean = ...

Keep track the roof state so that we know when it has changed.

#lastQuadtreeBounds: Rectangle

The bounds that the placeable was added to the quadtree with.

#drawing: Promise<PlaceableObject> = ...

An internal reference to a Promise in-progress to draw the Placeable Object.

#drawn: boolean = false

Has this Placeable Object been drawn and is there no drawing in progress?

#controlled: boolean = false
#hover: boolean = false
embeddedName: string = "Tile"

Identify the official Document name for this PlaceableObject class

RENDER_FLAGS: { redraw: { propagate: string[] }; refresh: { propagate: string[]; alias: boolean }; refreshState: { propagate: string[] }; refreshShape: { propagate: string[] }; refreshMesh: {}; refreshFrame: {}; refreshElevation: { propagate: string[] }; refreshPerception: {}; refreshVideo: {} } = ...
override

Type declaration

  • redraw: { propagate: string[] }
    • propagate: string[]
  • refresh: { propagate: string[]; alias: boolean }
    • propagate: string[]
    • alias: boolean
  • refreshState: { propagate: string[] }
    • propagate: string[]
  • refreshShape: { propagate: string[] }
    • propagate: string[]
  • refreshMesh: {}
    • refreshFrame: {}
      • refreshElevation: { propagate: string[] }
        • propagate: string[]
      • refreshPerception: {}
        • refreshVideo: {}

          Accessors

          • get aspectRatio(): number
          • Get the native aspect ratio of the base texture for the Tile sprite

            Returns number

          • override

            Returns Rectangle

          • get sourceElement(): HTMLImageElement | HTMLVideoElement
          • The HTML source element for the primary Tile texture

            Returns HTMLImageElement | HTMLVideoElement

          • get isVideo(): boolean
          • Does this Tile depict an animated video texture?

            Returns boolean

          • get isRoof(): boolean
          • Is this tile a roof?

            Returns boolean

          • get occluded(): boolean
          • Is this tile occluded?

            Returns boolean

          • get volume(): number
          • The effective volume at which this Tile should be playing, including the global ambient volume modifier

            Returns number

          • get interactionState(): { NONE: number; HOVER: number; CLICKED: number; DRAG: number; DROP: number }
          • The mouse interaction state of this placeable.

            Returns { NONE: number; HOVER: number; CLICKED: number; DRAG: number; DROP: number }

            • NONE: number
            • HOVER: number
            • CLICKED: number
            • DRAG: number
            • DROP: number
          • get center(): Point
          • The central coordinate pair of the placeable object based on it's own width and height

            Returns Point

          • get id(): string
          • The id of the corresponding Document which this PlaceableObject represents.

            Returns string

          • get objectId(): string
          • A unique identifier which is used to uniquely identify elements on the canvas related to this object.

            Returns string

          • get sourceId(): string
          • The named identified for the source object associated with this PlaceableObject. This differs from the objectId because the sourceId is the same for preview objects as for the original.

            Returns string

          • get isPreview(): boolean
          • Is this placeable object a temporary preview?

            Returns boolean

          • get hasPreview(): boolean
          • Does there exist a temporary preview of this placeable object?

            Returns boolean

          • The field-of-vision polygon for the object, if it has been computed

            Returns Circle

          • Provide a reference to the CanvasLayer which contains this PlaceableObject.

            Returns PlaceablesLayer

          • The line-of-sight polygon for the object, if it has been computed

            Returns PointSourcePolygon

          • A Form Application which is used to configure the properties of this Placeable Object or the Document it represents.

            Returns FormApplication

          • get controlled(): boolean
          • An indicator for whether the object is currently controlled

            Returns boolean

          • get hover(): boolean
          • set hover(state: boolean): void
          • An indicator for whether the object is currently a hover target

            Returns boolean

          • An indicator for whether the object is currently a hover target

            Parameters

            • state: boolean

            Returns void

          Methods

          • debounceSetOcclusion(occluded: any): any
          • Debounce assignment of the Tile occluded state to avoid cases like animated token movement which can rapidly

            Parameters

            • occluded: any

            Returns any

          • _draw(options?: {}): Promise<void>
          • clear(options: any): void
          • Clear the display of the existing object.

            Parameters

            • options: any

            Returns void

            The cleared object

          • _destroy(options: any): void
          • The inner _destroy method which may optionally be defined by each PlaceableObject subclass.

            Parameters

            • options: any

            Returns void

          • _applyRenderFlags(flags: any): void
          • _onUpdate(data: any, options: any, userId: any): any
          • activateListeners(): void
          • _canConfigure(user: any, event: any): boolean
          • Does the User have permission to configure the Placeable Object?

            Parameters

            • user: any

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _onClickLeft(event: any): any
          • Callback actions which occur on a single left-click event to assume control of the object

            Parameters

            • event: any

              The triggering canvas interaction event

            Returns any

          • _onClickLeft2(event: any): void
          • Callback actions which occur on a double left-click event to activate

            Parameters

            • event: any

              The triggering canvas interaction event

            Returns void

          • _onDragLeftStart(event: any): any
          • Callback actions which occur when a mouse-drag action is first begun.

            Parameters

            • event: any

              The triggering canvas interaction event

            Returns any

          • _onDragLeftMove(event: any): any
          • Callback actions which occur on a mouse-move operation.

            Parameters

            • event: any

              The triggering canvas interaction event

            Returns any

          • _onDragLeftDrop(event: any): Promise<any>
          • Callback actions which occur on a mouse-move operation.

            Parameters

            • event: any

              The triggering canvas interaction event

            Returns Promise<any>

          • _onDragLeftCancel(event: any): any
          • Callback actions which occur on a mouse-move operation.

            Parameters

            • event: any

              The triggering mouse click event

            Returns any

          • applyRenderFlags(): void
          • destroy(options: any): any
          • Refresh all incremental render flags for the PlaceableObject. This method is no longer used by the core software but provided for backwards compatibility.

            Parameters

            • options: any = {}

            Returns PlaceableObject

            The refreshed object

          • _updateQuadtree(): void
          • control(options?: { releaseOthers: boolean }): boolean
          • Assume control over a PlaceableObject, flagging it as controlled and enabling downstream behaviors

            Parameters

            • options: { releaseOthers: boolean } = {}

              Additional options which modify the control request

              • releaseOthers: boolean

                Release any other controlled objects first

            Returns boolean

            A flag denoting whether control was successful

          • release(options?: any): boolean
          • Release control over a PlaceableObject, removing it from the controlled set

            Parameters

            • options: any = {}

              Options which modify the releasing workflow

            Returns boolean

            A Boolean flag confirming the object was released.

          • Clone the placeable object, returning a new object with identical attributes. The returned object is non-interactive, and has no assigned ID. If you plan to use it permanently you should call the create method.

            Returns PlaceableObject

            A new object with identical data

          • Rotate the PlaceableObject to a certain angle of facing

            Parameters

            • angle: number

              The desired angle of rotation

            • snap: number

              Snap the angle of rotation to a certain target degree increment

            Returns Promise<PlaceableObject>

            The rotated object

          • _updateRotation(options?: { angle: number; delta: number; snap: number }): number
          • Determine a new angle of rotation for a PlaceableObject either from an explicit angle or from a delta offset.

            Parameters

            • options: { angle: number; delta: number; snap: number } = {}

              An object which defines the rotation update parameters

              • angle: number
              • delta: number
              • snap: number

            Returns number

            The new rotation angle for the object

          • _getShiftedPosition(dx: number, dy: number): { x: number; y: number }
          • Obtain a shifted position for the Placeable Object

            Parameters

            • dx: number

              The number of grid units to shift along the X-axis

            • dy: number

              The number of grid units to shift along the Y-axis

            Returns { x: number; y: number }

            The shifted target coordinates

            • x: number
            • y: number
          • can(user: User, action: string): boolean
          • Test whether a user can perform a certain interaction regarding a Placeable Object

            Parameters

            • user: User

              The User performing the action

            • action: string

              The named action being attempted

            Returns boolean

            Does the User have rights to perform the action?

          • _refreshHandle(): void
          • Refresh the display of the Tile resizing handle. Shift the position of the drag handle from the bottom-right (default) depending on which way we are dragging.

            Returns void

          • _onHandleHoverIn(event: FederatedEvent): void
          • Handle mouse-over event on a control handle

            Parameters

            • event: FederatedEvent

              The mouseover event

            Returns void

          • _onHandleHoverOut(event: FederatedEvent): void
          • Handle mouse-out event on a control handle

            Parameters

            • event: FederatedEvent

              The mouseout event

            Returns void

          • _onHandleMouseDown(event: FederatedEvent): void
          • When clicking the resize handle, initialize the handle properties.

            Parameters

            • event: FederatedEvent

              The mousedown event

            Returns void

          • _onHandleDragStart(event: FederatedEvent): void
          • Handle the beginning of a drag event on a resize handle.

            Parameters

            • event: FederatedEvent

              The mousedown event

            Returns void

          • _onHandleDragMove(event: FederatedEvent): void
          • Handle mousemove while dragging a tile scale handler

            Parameters

            • event: FederatedEvent

              The mousemove event

            Returns void

          • _onHandleDragDrop(event: FederatedEvent): any
          • Handle mouseup after dragging a tile scale handler

            Parameters

            • event: FederatedEvent

              The mouseup event

            Returns any

          • _onHandleDragCancel(event: FederatedEvent): void
          • Handle cancellation of a drag event for one of the resizing handles

            Parameters

            • event: FederatedEvent

              The mouseup event

            Returns void

          • _getTargetAlpha(): number
          • Get the target opacity that should be used for a Placeable Object depending on its preview state.

            Returns number

          • _onCreate(data: any, options: any, userId: string): void
          • Register pending canvas operations which should occur after a new PlaceableObject of this type is created

            Parameters

            • data: any
            • options: any
            • userId: string

            Returns void

          • _onDelete(options: any, userId: string): void
          • Define additional steps taken when an existing placeable object of this type is deleted

            Parameters

            • options: any
            • userId: string

            Returns void

          • _onControl(options: any): void
          • Additional events which trigger once control of the object is established

            Parameters

            • options: any

              Optional parameters which apply for specific implementations

            Returns void

          • _onRelease(options: any): void
          • Additional events which trigger once control of the object is released

            Parameters

            • options: any

              Options which modify the releasing workflow

            Returns void

          • _canHUD(user: User, event: any): boolean
          • Can the User access the HUD for this Placeable Object?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canControl(user: User, event: any): boolean
          • Does the User have permission to control the Placeable Object?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canView(user: User, event: any): boolean
          • Does the User have permission to view details of the Placeable Object?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canCreate(user: User, event: any): boolean
          • Does the User have permission to create the underlying Document?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canDrag(user: User, event: any): boolean
          • Does the User have permission to drag this Placeable Object?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canHover(user: User, event: any): boolean
          • Does the User have permission to hover on this Placeable Object?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canUpdate(user: User, event: any): boolean
          • Does the User have permission to update the underlying Document?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _canDelete(user: User, event: any): boolean
          • Does the User have permission to delete the underlying Document?

            Parameters

            • user: User

              The User performing the action.

            • event: any

              The event object.

            Returns boolean

            The returned status.

          • _onHoverIn(event: FederatedEvent, options?: { hoverOutOthers: boolean }): boolean
          • Actions that should be taken for this Placeable Object when a mouseover event occurs. Hover events on PlaceableObject instances allow event propagation by default.

            see

            MouseInteractionManager##handleMouseOver

            Parameters

            • event: FederatedEvent

              The triggering canvas interaction event

            • options: { hoverOutOthers: boolean } = {}

              Options which customize event handling

              • hoverOutOthers: boolean

            Returns boolean

            True if the event was handled, otherwise false

          • _onHoverOut(event: FederatedEvent): boolean
          • Actions that should be taken for this Placeable Object when a mouseout event occurs

            see

            MouseInteractionManager##handleMouseOut

            Parameters

            • event: FederatedEvent

              The triggering canvas interaction event

            Returns boolean

            True if the event was handled, otherwise false

          • _propagateLeftClick(event: FederatedEvent): boolean
          • _propagateRightClick(event: FederatedEvent): boolean
          • _onClickRight(event: FederatedEvent): void
          • Callback actions which occur on a single right-click event to configure properties of the object

            see

            MouseInteractionManager##handleClickRight

            Parameters

            • event: FederatedEvent

              The triggering canvas interaction event

            Returns void

          • _onClickRight2(event: FederatedEvent): void
          • Callback actions which occur on a double right-click event to configure properties of the object

            see

            MouseInteractionManager##handleClickRight2

            Parameters

            • event: FederatedEvent

              The triggering canvas interaction event

            Returns void

          • _onDragStart(): void
          • Begin a drag operation from the perspective of the preview clone. Modify the appearance of both the clone (this) and the original (_original) object.

            Returns void

          • _onDragEnd(): void
          • Conclude a drag operation from the perspective of the preview clone. Modify the appearance of both the clone (this) and the original (_original) object.

            Returns void

          • _onLongPress(event: FederatedEvent, origin: Point): any
          • Callback action which occurs on a long press.

            see

            MouseInteractionManager##handleLongPress

            Parameters

            • event: FederatedEvent

              The triggering canvas interaction event

            • origin: Point

              The local canvas coordinates of the mousepress.

            Returns any

          • #refreshMesh(): void
          • Refresh the Primary Canvas Object associated with this tile.

            Returns void

          • #refreshState(): void
          • Refresh the displayed state of the Tile. Updated when the tile interaction state changes, when it is hidden, or when it changes overhead state.

            Returns void

          • #refreshShape(): void
          • Refresh the displayed shape and bounds of the Tile. Called when the tile location, size, rotation, or other visible attributes are modified.

            Returns void

          • #refreshElevation(): void
          • Update sorting of this Tile relative to other PrimaryCanvasGroup siblings. Called when the elevation or sort order for the Tile changes.

            Returns void

          • #refreshPerception(): void
          • Update interior wall states. Refresh lighting and vision to reflect changes in overhead tiles.

            Returns void

          • #refreshFrame(): void
          • Refresh the border frame that encloses the Tile.

            Returns void

          • #refreshVideo(): void
          • Refresh changes to the video playback state.

            Returns void

          • #getResizedDimensions(event: FederatedEvent): Rectangle
          • Get resized Tile dimensions

            Parameters

            • event: FederatedEvent

            Returns Rectangle

          • Create a preview tile with a background texture instead of an image

            Parameters

            • data: any

              Initial data with which to create the preview Tile

            Returns PlaceableObject