Wall

Wall

A Wall is an implementation of PlaceableObject which represents a physical or visual barrier within the Scene. Walls are used to restrict Token movement or visibility as well as to define the areas of effect for ambient lights and sounds.

Constructor

new Wall()

See:

Extends

Members

_controlled :boolean

Inherited From:

An indicator for whether the object is currently controlled

Type:
  • boolean

_hover :boolean

Inherited From:

An indicator for whether the object is currently a hover target

Type:
  • boolean

A :Point

The initial endpoint of the Wall

Type:

B :Point

The second endpoint of the Wall

Type:

bounds

Overrides:

The bounding box for this PlaceableObject. This is required if the layer uses a Quadtree, otherwise it is optional

center :PIXI.Point

Overrides:

The central coordinate pair of the placeable object based on it's own width and height

Type:
  • PIXI.Point

controlIcon :ControlIcon

Inherited From:

A control icon for interacting with the object

Type:

coords :Array.<number>

A convenience reference to the coordinates Array for the Wall endpoints, [x0,y0,x1,y1].

Type:

data :abstract.DocumentData

Inherited From:

The underlying data object which provides the basis for this placeable object

Type:

direction :number|null

Get the direction of effect for a directional Wall

Type:
  • number | null

document :abstract.Document

Inherited From:

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

Type:

embeddedName :string

Overrides:

Identify the official Document name for this PlaceableObject class

Type:
  • string

fov :PIXI.Circle

Inherited From:

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

Type:
  • PIXI.Circle

hasActiveRoof

Is this Wall interior to a non-occluded roof Tile?

id :string

Inherited From:

The id of the corresponding Document which this PlaceableObject represents.

Type:
  • string

intersectsWith :Map.<Wall, LineIntersection>

A set which tracks other Wall instances that this Wall intersects with (excluding shared endpoints)

Type:

isDoor :boolean

A boolean for whether this wall contains a door

Type:
  • boolean

isOpen

A boolean for whether the wall contains an open door

layer :PIXI.Container

Inherited From:

Provide a reference to the CanvasLayer which contains this PlaceableObject.

Type:
  • PIXI.Container

los :PointSourcePolygon|null

Inherited From:

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

Type:

midpoint

Return the coordinates [x,y] at the midpoint of the wall segment

mouseInteractionManager :MouseInteractionManager

Inherited From:

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

Type:

roof :Tile

A reference to an overhead Tile that is a roof, interior to which this wall is contained

Type:

scene :Scene

Inherited From:

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

Type:

sheet :FormApplication

Inherited From:

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

Type:

vertices :Object

The endpoints of the wall as PolygonVertexes.

Type:
  • Object

vision :Object

Inherited From:

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:
  • Object

wallKeys :Set.<string>

The set of keys for this wall's endpoints.

Type:
  • Set.<string>

Methods

(protected) _canConfigure()

Inherited From:

Does the User have permission to configure the Placeable Object?

(protected) _canControl()

Overrides:

Does the User have permission to control the Placeable Object?

(protected) _canCreate()

Inherited From:

Does the User have permission to create the underlying Document?

(protected) _canDelete()

Inherited From:

Does the User have permission to delete the underlying Document?

(protected) _canDrag()

Inherited From:

Does the User have permission to drag this Placeable Object?

(protected) _canHover()

Inherited From:

Does the User have permission to hover on this Placeable Object?

(protected) _canHUD()

Inherited From:

Can the User access the HUD for this Placeable Object?

(protected) _canUpdate()

Inherited From:

Does the User have permission to update the underlying Document?

(protected) _canView()

Inherited From:

Does the User have permission to view details of the Placeable Object?

(protected) _createInteractionManager()

Overrides:

Create a standard MouseInteractionManager for the PlaceableObject

_getShiftedPosition(dx, dy) → {Object}

Inherited From:

Obtain a shifted position for the Placeable Object

Parameters:
Name Type Description
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:

The shifted target coordinates

Type
Object

_identifyIntersectionsWith(other)

Record the intersection points between this wall and another, if any.

Parameters:
Name Type Description
other Wall

The other wall.

_onClickLeft(event)

Overrides:
See:
  • MouseInteractionManager#_handleClickLeft

Callback actions which occur on a single left-click event to assume control of the object

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

_onClickLeft2(event)

Overrides:
See:
  • MouseInteractionManager#_handleClickLeft2

Callback actions which occur on a double left-click event to activate

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

_onClickRight(event)

Inherited From:
See:
  • MouseInteractionManager#_handleClickRight

Callback actions which occur on a single right-click event to configure properties of the object

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

_onClickRight2(event)

Overrides:
See:
  • MouseInteractionManager#_handleClickRight2

Callback actions which occur on a double right-click event to configure properties of the object

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

(protected) _onControl(options)

Overrides:

Additional events which trigger once control of the object is established

Parameters:
Name Type Description
options Object

Optional parameters which apply for specific implementations

(protected) _onCreate()

Overrides:

Register pending canvas operations which should occur after a new PlaceableObject of this type is created

(protected) _onDelete()

Overrides:

Define additional steps taken when an existing placeable object of this type is deleted

_onDragLeftCancel(event)

Inherited From:
See:
  • MouseInteractionManager#_handleDragCancel

Callback actions which occur on a mouse-move operation.

Parameters:
Name Type Description
event MouseEvent

The triggering mouse click event

(async) _onDragLeftDrop(event) → {Promise.<*>}

Overrides:
See:
  • MouseInteractionManager#_handleDragDrop

Callback actions which occur on a mouse-move operation.

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

Returns:
Type
Promise.<*>

_onDragLeftMove(event)

Overrides:
See:
  • MouseInteractionManager#_handleDragMove

Callback actions which occur on a mouse-move operation.

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

_onDragLeftStart(event)

Overrides:
See:
  • MouseInteractionManager#_handleDragStart

Callback actions which occur when a mouse-drag action is first begun.

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

_onHoverIn(event, options)

Overrides:
See:
  • MouseInteractionManager#_handleMouseOver

Actions that should be taken for this Placeable Object when a mouseover event occurs

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

options object

Options which customize event handling

Properties
Name Type Attributes Default Description
hoverOutOthers boolean <optional>
true

Trigger hover-out behavior on sibling objects

_onHoverOut(event)

Overrides:
See:
  • MouseInteractionManager#_handleMouseOut

Actions that should be taken for this Placeable Object when a mouseout event occurs

Parameters:
Name Type Description
event PIXI.InteractionEvent

The triggering canvas interaction event

(protected) _onRelease(options)

Overrides:

Additional events which trigger once control of the object is released

Parameters:
Name Type Description
options Object

Options which modify the releasing workflow

(protected) _onUpdate()

Overrides:

Define additional steps taken when an existing placeable object of this type is updated with new data

_updateRotation(options) → {number}

Inherited From:

Determine a new angle of rotation for a PlaceableObject either from an explicit angle or from a delta offset.

Parameters:
Name Type Description
options object

An object which defines the rotation update parameters

Properties
Name Type Attributes Default Description
angle number <optional>

An explicit angle, either this or delta must be provided

delta number <optional>
0

A relative angle delta, either this or the angle must be provided

snap number <optional>
0

A precision (in degrees) to which the resulting angle should snap. Default is 0.

Returns:

The new rotation angle for the object

Type
number

activateListeners()

Overrides:

Activate interactivity for the Placeable Object

can(user, action) → {boolean}

Inherited From:

Test whether a user can perform a certain interaction with regards to a Placeable Object

Parameters:
Name Type Description
user User

The User performing the action

action string

The named action being attempted

Returns:

Does the User have rights to perform the action?

Type
boolean

canRayIntersect(ray) → {boolean}

A simple test for whether a Ray can intersect a directional wall

Parameters:
Name Type Description
ray Ray

The ray to test

Returns:

Can an intersection occur?

Type
boolean

clear() → {PlaceableObject}

Inherited From:

Clear the display of the existing object

Returns:

The cleared object

Type
PlaceableObject

clone() → {PlaceableObject}

Inherited From:

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:

A new object with identical data

Type
PlaceableObject

control(options) → {boolean}

Inherited From:

Assume control over a PlaceableObject, flagging it as controlled and enabling downstream behaviors

Parameters:
Name Type Description
options Object

Additional options which modify the control request

Properties
Name Type Description
releaseOthers boolean

Release any other controlled objects first

Returns:

A flag denoting whether or not control was successful

Type
boolean

createDoorControl() → {DoorControl}

Draw a control icon that is used to manipulate the door's open/closed state

Returns:
Type
DoorControl

destroy()

Overrides:

(async) draw() → {Promise.<PlaceableObject>}

Overrides:

Draw the placeable object into its parent container

Returns:

The drawn object

Type
Promise.<PlaceableObject>

getLinkedSegments() → {Object}

Get an Array of Wall objects which are linked by a common coordinate

Returns:

An object reporting ids and endpoints of the linked segments

Type
Object

identifyInteriorState()

Determine whether this wall is beneath a roof tile, and is considered "interior", or not.

isDirectionBetweenAngles(lower, upper) → {boolean}

Test whether the Wall direction lies between two provided angles This test is used for collision and vision checks against one-directional walls

Parameters:
Name Type Description
lower number

The lower-bound limiting angle in radians

upper number

The upper-bound limiting angle in radians

Returns:
Type
boolean

orientPoint(point) → {number}

Determine the orientation of this wall with respect to a reference point

Parameters:
Name Type Description
point Point

Some reference point, relative to which orientation is determined

Returns:

An orientation in CONST.WALL_DIRECTIONS which indicates whether the Point is left, right, or collinear (both) with the Wall

Type
number

refresh() → {PlaceableObject}

Overrides:

Refresh the current display state of the Placeable Object

Returns:

The refreshed object

Type
PlaceableObject

release(options) → {boolean}

Inherited From:

Release control over a PlaceableObject, removing it from the controlled set

Parameters:
Name Type Description
options Object

Options which modify the releasing workflow

Returns:

A Boolean flag confirming the object was released.

Type
boolean

(async) rotate(angle, snap) → {Promise.<PlaceableObject>}

Inherited From:

Rotate the PlaceableObject to a certain angle of facing

Parameters:
Name Type Description
angle number

The desired angle of rotation

snap number

Snap the angle of rotation to a certain target degree increment

Returns:

The rotated object

Type
Promise.<PlaceableObject>

toRay() → {Ray}

This helper converts the wall segment to a Ray

Returns:

The wall in Ray representation

Type
Ray

updateIntersections()

Update any intersections with this wall.