Map
Description​
This component represents the overall map configuration.
Name | Type | Default | Description |
---|---|---|---|
latitude | number | 37.7955281 | The latitude of the map's center |
longitude | number | -122.3934225 | The longitude of the map's center |
radius | number | 500 | The radius of the map view, in meters |
spawnLocations | boolean | false | If enabled, map points will spawn at every VPS activated location |
useGPS | boolean | true | If enabled, map will poll GPS and update latitude and longitude automatically at runtime. |
Functions​
Get​
Returns a read-only reference.
Example
ecs.Map.get(world, component.eid)
Set​
Ensures the component exists on the entity, then assigns the (optional) data to the component.
Example
ecs.Map.set(world, component.eid, {
latitude: 37.7955281,
longitude: -122.3934225,
radius: 500,
spawnLocations: false,
useGPS: true
})
Mutate​
Perform an update to the component within a callback function. Return true
to indicate no changes made.
Example
ecs.Map.mutate(world, component.eid, (cursor) => {
cursor.latitude = 37.4419;
cursor.longitude = -122.1430;
return false;
})
Remove​
Removes the component from the entity.
Example
ecs.Map.remove(world, component.eid)
Has​
Returns true
if the component is present on the entity.
Example
ecs.Map.has(world, component.eid)
Reset​
Adds, or resets the component to its default state.
Example
ecs.Map.reset(world, component.eid)
Advanced Functions​
Cursor​
Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.
Example
ecs.Map.cursor(world, component.eid)
Acquire​
Same behavior as cursor, but commit must be called after the cursor is done being used.
Example
ecs.Map.acquire(world, component.eid)
Commit​
Called after acquire. An optional third argument determines whether the cursor was mutated or not.
Example
ecs.Map.commit(world, component.eid)
ecs.Map.commit(world, component.eid, false)
Dirty​
Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.
Example
ecs.Map.dirty(world, component.eid)