interactController
Permet à un joueur d'activer certains objets
require
player()parameters
| Parameter | Default Value | Type | Description |
|---|---|---|---|
interactKey | string | "space" |
example
interactController({ interactKey: "space"}),function interactController(p) { const param = { interactKey: "space", ...p } return { interactObjects: [], require: ["player"], id: "interact", add() { onKeyPress(param.interactKey, () => { let closest = { dist: null, index: null } for (let i = 0; i < this.interactObjects.length; i++) { const d = this.pos.dist(this.interactObjects[i]) if (closest.dist == null || d < closest.dist) closest = { dist: d, index: i } } if (closest.index != null) this.interactObjects[closest.index].activate(this) }) }, addInteractObject(a) { this.interactObjects.push(a) }, removeInteractObject(a) { this.interactObjects = this.interactObjects.filter(function (e) { return e.id != a.id }) }, }}