Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

TrackGroup


TrackGroups are containers that contain items that ZoneListeners should be tracking for when they enter/exit the Zones it's listening to.

Definition


{
	update: (TrackGroup) -> (),
	removeFrom: (TrackGroup, listener: ZoneListener) -> (),
	addItem: (TrackGroup, item: ZoneItem) -> (),
	addItems: (TrackGroup, items: ZoneItems) -> (),
	removeItem: (TrackGroup, item: ZoneItem) -> (),
	removeItems: (TrackGroup, items: ZoneItems) -> (),
	clear: (TrackGroup) -> (),
	
	mutable: ZoneItems,
	immutable: ZoneItems,
	listeners: {ZoneListener}
}

Methods


TrackGroup:update() -> ()

Moves items inside TrackGroup.mutable into TrackGroup.immutable, updating any listeners in the process.

TrackGroup:removeFrom(listener: ZoneListener)

Removes this TrackGroup from the listener, making it no longer tracked for that listener.

TrackGroup:addItem(item: ZoneItem) -> ()

Tracks the items inside ZoneItem, updating any listeners in the process.

TrackGroup:addItems(item: ZoneItems) -> ()

Tracks the items inside ZoneItems, updating any listeners in the process.

TrackGroup:removeItem(item: ZoneItem) -> ()

Untracks the items inside ZoneItem, updating any listeners in the process.

TrackGroup:removeItems(items: ZoneItems) -> ()

Untracks the items inside ZoneItems, updating any listeners in the process.

TrackGroup:clear() -> ()

Removes all tracked items within this TrackGroup.

Fields


TrackGroup.mutable: ZoneItems

A mutable list of tracked items that have not yet been registered into listeners.

TrackGroup.immutable: Zoneitems

An immutable list of tracked items that have been registered into listeners.

TrackGroup.listeners:

All ZoneListeners currently tracking this TrackGroup.