A reference to an overhead Tile that is a roof, interior to which this wall is contained
A set which tracks other Wall instances that this Wall intersects with (excluding shared endpoints)
Retain a reference to the Scene within which this Placeable Object resides
A reference to the Scene embedded Document instance which this object represents
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
A control icon for interacting with the object
A mouse interaction manager instance which handles mouse workflows related to this object.
Know if a placeable is in the hover-in state.
Passthrough certain drag operations on locked objects.
An reference the Door Control icon associated with this Wall, if any
Identify the official Document name for this PlaceableObject class
A convenience reference to the coordinates Array for the Wall endpoints, [x0,y0,x1,y1].
The endpoints of the wall expressed as {@link PolygonVertex} instances.
The initial endpoint of the Wall.
The second endpoint of the Wall.
A set of vertex sort keys which identify this Wall's endpoints.
A boolean for whether this wall contains a door
A boolean for whether the wall contains an open door
Is this Wall interior to a non-occluded roof Tile?
Return the coordinates [x,y] at the midpoint of the wall segment
Get the direction of effect for a directional Wall
The mouse interaction state of this placeable.
The id of the corresponding Document which this PlaceableObject represents.
A unique identifier which is used to uniquely identify elements on the canvas related to this object.
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.
Is this placeable object a temporary preview?
The field-of-vision polygon for the object, if it has been computed
Provide a reference to the CanvasLayer which contains this PlaceableObject.
The line-of-sight polygon for the object, if it has been computed
A Form Application which is used to configure the properties of this Placeable Object or the Document it represents.
An indicator for whether the object is currently controlled
An indicator for whether the object is currently a hover target
An indicator for whether the object is currently a hover target
This helper converts the wall segment to a Ray
The wall in Ray representation
Draw a control icon that is used to manipulate the door's open/closed state
Clear the door control if it exists.
Determine the orientation of this wall with respect to a reference point
Some reference point, relative to which orientation is determined
An orientation in CONST.WALL_DIRECTIONS which indicates whether the Point is left, right, or collinear (both) with the Wall
Create a standard MouseInteractionManager for the PlaceableObject
Activate interactivity for the Placeable Object
Additional events which trigger once control of the object is established
Optional parameters which apply for specific implementations
Additional events which trigger once control of the object is released
Options which modify the releasing workflow
Test whether the Wall direction lies between two provided angles This test is used for collision and vision checks against one-directional walls
The lower-bound limiting angle in radians
The upper-bound limiting angle in radians
A simple test for whether a Ray can intersect a directional wall
The ray to test
Can an intersection occur?
Get an Array of Wall objects which are linked by a common coordinate
An object reporting ids and endpoints of the linked segments
Determine whether this wall is beneath a roof tile, and is considered "interior", or not. Tiles which are hidden do not count as roofs for the purposes of defining interior walls.
Update any intersections with this wall.
Record the intersection points between this wall and another, if any.
The other wall.
Register pending canvas operations which should occur after a new PlaceableObject of this type is created
Define additional steps taken when an existing placeable object of this type is updated with new data
Define additional steps taken when an existing placeable object of this type is deleted
Does the User have permission to control the Placeable Object?
The User performing the action.
The event object.
The returned status.
Actions that should be taken for this Placeable Object when a mouseover event occurs
The triggering canvas interaction event
Options which customize event handling
Actions that should be taken for this Placeable Object when a mouseout event occurs
The triggering canvas interaction event
Callback actions which occur on a single left-click event to assume control of the object
The triggering canvas interaction event
Callback actions which occur on a double left-click event to activate
The triggering canvas interaction event
Callback actions which occur on a double right-click event to configure properties of the object
The triggering canvas interaction event
Callback actions which occur when a mouse-drag action is first begun.
The triggering canvas interaction event
Callback actions which occur on a mouse-move operation.
The triggering canvas interaction event
Callback actions which occur on a mouse-move operation.
The triggering canvas interaction event
Test whether a user can perform a certain interaction regarding a Placeable Object
The User performing the action
The named action being attempted
Does the User have rights to perform the action?
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.
A new object with identical data
Draw the placeable object into its parent container
The drawn object
Refresh the current display state of the Placeable Object
The refreshed object
Assume control over a PlaceableObject, flagging it as controlled and enabling downstream behaviors
Additional options which modify the control request
Release any other controlled objects first
A flag denoting whether control was successful
Release control over a PlaceableObject, removing it from the controlled set
Options which modify the releasing workflow
A Boolean flag confirming the object was released.
Rotate the PlaceableObject to a certain angle of facing
The desired angle of rotation
Snap the angle of rotation to a certain target degree increment
The rotated object
Determine a new angle of rotation for a PlaceableObject either from an explicit angle or from a delta offset.
An object which defines the rotation update parameters
The new rotation angle for the object
Obtain a shifted position for the Placeable Object
The number of grid units to shift along the X-axis
The number of grid units to shift along the Y-axis
The shifted target coordinates
Callback actions which occur on a single right-click event to configure properties of the object
The triggering canvas interaction event
Callback actions which occur on a mouse-move operation.
The triggering mouse click event
Can the User access the HUD for this Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to configure the Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to view details of the Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to create the underlying Document?
The User performing the action.
The event object.
The returned status.
Does the User have permission to drag this Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to hover on this Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to update the underlying Document?
The User performing the action.
The event object.
The returned status.
Does the User have permission to delete the underlying Document?
The User performing the action.
The event object.
The returned status.
Begin a drag operation from the perspective of the preview clone. Modify the appearance of both the clone (this) and the original (_original) object.
Conclude a drag operation from the perspective of the preview clone. Modify the appearance of both the clone (this) and the original (_original) object.
Callback action which occurs on a long press.
The triggering canvas interaction event
The local canvas coordinates of the mousepress.
Create PolygonVertex instances for the Wall endpoints and register the set of vertex keys.
Draw a directional prompt icon for one-way walls to illustrate their direction of effect.
The drawn icon
Compute an approximate Polygon which encloses the line segment providing a specific hitArea for the line
The original wall coordinates
The amount of padding to apply
A constructed Polygon for the line
Given the properties of the wall - decide upon a color to render the wall for display on the WallsLayer
Remove this wall's intersections.
Callback actions when a wall that contains a door is moved or its state is changed
Update vision and sound restrictions
Handle mouse-hover events on the line segment itself, pulling the Wall to the front of the container stack
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.
WallDocument
WallsLayer