WanaPlan

API Docs for: 2.7.0
Show:

HopperComponent2D

Extends BaseComponent2D
Module: Component
Parent Module: Wanaplan

Summary

Hopper 2D. Component which handles :

  • actions performed in 2D relatively to the hopper. Such as :
    • adding a hopper
    • displaying the hopper context menu
    • translating the hopper
    • modifying the shape of the hopper ( moving / adding / removing points )
  • the 2D rendering of the hopper

Constructor

HopperComponent2D

Syntax

HopperComponent2D

(
  • core
)

Summary

Parameters:

  • core Core

    Wanaplan Core.

Methods

compute

Syntax

compute

()

Summary

Computes all the hoppers structures.

computeHopper

Syntax

computeHopper

(
  • hopper
)

Summary

Checks the hopper consistency and deletes it if the hopper is no longer valid.

  • merges vertices that are close enough.
  • removes the hopper if it has less than 3 vertices ( invalid hopper ).

Parameters:

destroy

Inherited from BaseComponent2D:

Syntax

destroy

()

Summary

Method called when the component is destroyed

disable

Inherited from BaseComponent2D:

Syntax

disable

()

Summary

Disables the component

draw

Syntax

draw

(
  • hopper
  • ctx
  • translation
  • zoom
  • selected
)

Summary

Draws the hopper.

Parameters:

  • hopper HopperStructure

    The hopper structure.

  • ctx Context2D

    The 2d context.

  • translation BABYLON.Vector2

    The translation of the canvas.

  • zoom Number

    The zoom level of the canvas.

  • selected Boolean

    True if the hopper is currently selected, else false.

drawTarget

Syntax

drawTarget

(
  • hopper
  • ctx
  • zoom
)

Summary

Draws the hopper guide. It displays visual information on the hopper, depending on the context. Basically, it draws a highlight when the mouse is hovering a hopper element ( the whole hopper, a side , a point ).

Parameters:

  • hopper HopperStructure

    The hopper structure.

  • ctx Context2D

    The 2d context.

  • zoom Number

    The zoom level of the canvas.

enable

Inherited from BaseComponent2D:

Syntax

enable

()

Summary

Enables the component

getRoom

Syntax

getRoom

(
  • hopper
  • force
)
RoomStructure

Summary

Returns the roomStructure of the room containing the hopper. Will try to attach the hopper to a room if hopper.room is not defined.

If force flag is up, try to attach the hopper even if hopper.room is already set.

Parameters:

  • hopper HopperStructure

    The hopper structure.

  • force Boolean

    If set to true, ignore the internal attribute and try to attach to a room.

Returns:

RoomStructure:

The room where the hopper is.

getTargeted

Inherited from BaseComponent2D:

Syntax

getTargeted

(
  • vector
)
Object

Summary

Finds out if the given position is over an element handled by the component

Parameters:

  • vector Vector
    A position, usually the cursor's one.

Returns:

Object:
The targeted element, or null if nothing is found.

initialize

Inherited from BaseComponent2D:

Syntax

initialize

()

Summary

Method called when Wanaplan is initialized. You don't need to call this method manually.

isPointInHopper

Syntax

isPointInHopper

(
  • vector
  • hopper
)
Boolean

Summary

Tests the collision of a point with the area defined by the hopper.

Parameters:

  • vector BABYLON.Vector2

    The point.

  • hopper HopperStructure

    The hopper structure.

Returns:

Boolean:

True if the point collides, else false.

isPointInHopperSide

Syntax

isPointInHopperSide

(
  • vector
  • hopper
)
Number | Boolean

Summary

Tests the collision of a point with the hopper's edges.

Parameters:

  • vector BABYLON.Vector2

    The point.

  • hopper HopperStructure

    The hopper structure.

Returns:

Number | Boolean:

False if the point does not collide with any of the hopper's edges. Else the index of the side that collides.

onAddHopper

Syntax

onAddHopper

()

Summary

Adds new events callbacks when the user is in Hopper mode. Triggered on event wnp.engine2d.onAddHopper

onAddHopperClick

Syntax

onAddHopperClick

(
  • event
  • target
  • mstate
  • data
)

Summary

Adds a new hopper on click. Triggered on event hopperComponent2D.add-hopper.click

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure added.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onContextChanged

Inherited from BaseComponent2D:

Syntax

onContextChanged

(
  • context
)

Summary

Method called when the context is switched (2D -> 3D or 3D -> 2D)

Parameters:

  • context String
    The new context

onContextMenu

Syntax

onContextMenu

(
  • event
  • target
  • mstate
  • data
)

Summary

Opens the context menu of the hopper. Triggered on event HopperComponent2D.hopper.click

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onContextMenuPropertyChanged

Syntax

onContextMenuPropertyChanged

(
  • target
  • property
  • value
)

Summary

Called when a value is changed in the context menu of the hopper.

Parameters:

onContextMenuRemove

Syntax

onContextMenuRemove

(
  • target
)

Summary

Called when the user closes the context menu.

Parameters:

onDblClick

Syntax

onDblClick

(
  • event
  • target
  • mstate
  • data
)

Summary

Adds a point on the hover contour when the user double clicks on it. Triggered on event HopperComponent2D.hopper.dblclick

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure clicked.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onDrag

Syntax

onDrag

(
  • event
  • target
  • mstate
  • data
)

Summary

Moves the hopper when it is dragged. Triggered on event hopperComponent2D.hopper.drag

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure dragged.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onDragEnd

Syntax

onDragEnd

(
  • event
  • target
  • mstate
  • data
)

Summary

Calls computeHopper when the user stop dragging. Triggered on event hopperComponent2D.stair-hover.drag-end

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure dragged.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onDragStart

Syntax

onDragStart

(
  • event
  • target
  • mstate
  • data
)

Summary

Adds new events callbacks when the dragging starts. Triggered on event HopperComponent2D.hopper.drag-start

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure dragged.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onHover

Syntax

onHover

(
  • event
  • target
  • mstate
  • data
)

Summary

Enables all the possible actions when the mouse hovers the hopper. Triggered on event HopperComponent2D.hopper.hover

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure hovered.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onHoverHopper

Syntax

onHoverHopper

(
  • ctx
  • translation
  • zoom
  • data
)

Summary

Highlights the hopper. Triggered on event HopperComponent2D.hopper-hover.dynamic-draw

Parameters:

  • ctx CanvasRenderingContext2D

    2D context of the canvas.

  • translation BABYLON.Vector2

    The translation of the canvas.

  • zoom Number

    The current zoom of the canvas.

  • data Object

    Important data used to draw (null).

onLeave

Syntax

onLeave

(
  • event
  • target
  • mstate
  • data
)

Summary

Disables all the possible actions when the mouse leaves the hopper. Triggered on event HopperComponent2D.hopper.leave

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure leaved.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

onMouseMove

Syntax

onMouseMove

(
  • event
  • target
  • mstate
  • data
)

Summary

Moves the new hopper to add when the mouse moves. Triggered on event hopperComponent2D.dynamic-stair.mouse-move

Parameters:

  • event Event

    The event caught.

  • target HopperStructure

    The hopper structure moved.

  • mstate Object

    The current state of the pointer.

  • data Object

    Important data used to draw.

startListening

Inherited from BaseComponent2D:

Syntax

startListening

()

Summary

Calls all the event listeners.

stopListening

Inherited from BaseComponent2D:

Syntax

stopListening

()

Summary

Removes all the event listeners.

update

Inherited from BaseComponent2D:

Syntax

update

()

Summary

Generic update method, called on every frame

Properties

name

Inherited from BaseComponent2D:

Syntax

name

String

Summary

Component name

priority

Inherited from BaseComponent2D:

Syntax

priority

Number

Summary

Priority of the component in the "update" and "draw" routines

structure

Inherited from BaseComponent2D:

Syntax

structure

wnp.Structure

Summary

Structure file instance (shortcut to wanaplan.structure). This is the base object where the whole plan is saved

Events

wnp.menu.main.add

Syntax

wnp.menu.main.add

Summary

Fired to add a menu item to the main menu.

wnp.menu.main.deselect

Syntax

wnp.menu.main.deselect

Summary

Fired to unselect the currently selected main menu item.