Navigation
These archived docs are for Phaser 2.4.6 Phaser 3 docs can be found on newdocs.phaser.io.
Phaser CE docs can be found on the Phaser CE Documentation site.

Constructor

Phaser. ArraySet

new ArraySet(list)

ArraySet is a Set data structure (items must be unique within the set) that also maintains order. This allows specific items to be easily added or removed from the Set.

Item equality (and uniqueness) is determined by the behavior of Array.indexOf.

This used primarily by the Input subsystem.

Parameters
Name Type Argument Default Description
list Array.<any> <optional>
(new array)

The backing array: if specified the items in the list must be unique, per Array.indexOf, and the ownership of the array should be relinquished to the ArraySet.

Source code: utils/ArraySet.js (Line 19)

Public Properties

first :any

Returns the first item and resets the cursor to the start.

Source code: utils/ArraySet.js (Line 231)

list : Array.<any>

The backing array.

Type
  • Array.<any>
Source code: utils/ArraySet.js (Line 32)

next :any

Returns the the next item (based on the cursor) and advances the cursor.

Source code: utils/ArraySet.js (Line 256)

position : integer

Current cursor position as established by first and next.

Source code: utils/ArraySet.js (Line 26)

total : integer

Number of items in the ArraySet. Same as list.length.

Source code: utils/ArraySet.js (Line 217)

Public Methods

add(item) → {any}

Adds a new element to the end of the list. If the item already exists in the list it is not moved.

Parameters
Name Type Description
item any

The element to add to this list.

Returns
any -

The item that was added.

Source code: utils/ArraySet.js (Line 38)

callAll(key, parameter)

Calls a function on all members of this list, using the member as the context for the callback.

If the key property is present it must be a function. The function is invoked using the item as the context.

Parameters
Name Type Argument Description
key string

The name of the property with the function to call.

parameter * <repeatable>

Additional parameters that will be passed to the callback.

Source code: utils/ArraySet.js (Line 159)

exists(item) → {boolean}

Checks for the item within this list.

Parameters
Name Type Description
item any

The element to get the list index for.

Returns
boolean -

True if the item is found in the list, otherwise false.

Source code: utils/ArraySet.js (Line 95)

getByKey(property, value) → {any}

Gets an item from the set based on the property strictly equaling the value given. Returns null if not found.

Parameters
Name Type Description
property string

The property to check against the value.

value any

The value to check if the property strictly equals.

Returns
any -

The item that was found, or null if nothing matched.

Source code: utils/ArraySet.js (Line 70)

getIndex(item) → {integer}

Gets the index of the item in the list, or -1 if it isn't in the list.

Parameters
Name Type Description
item any

The element to get the list index for.

Returns
integer -

The index of the item or -1 if not found.

Source code: utils/ArraySet.js (Line 57)

remove(item) → {any}

Removes the given element from this list if it exists.

Parameters
Name Type Description
item any

The item to be removed from the list.

Returns
any -

item - The item that was removed.

Source code: utils/ArraySet.js (Line 119)

removeAll(destroy)

Removes every member from this ArraySet and optionally destroys it.

Parameters
Name Type Argument Default Description
destroy boolean <optional>
false

Call destroy on each member as it's removed from this set.

Source code: utils/ArraySet.js (Line 185)

reset()

Removes all the items.

Source code: utils/ArraySet.js (Line 108)

setAll(key, value)

Sets the property key to the given value on all members of this list.

Parameters
Name Type Description
key any

The property of the item to set.

value any

The value to set the property to.

Source code: utils/ArraySet.js (Line 138)