UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

52 lines (40 loc) 1.23 kB
import { assert } from "../../../../core/assert.js"; import { CellFilterLiteralFloat } from "../../../filtering/numeric/CellFilterLiteralFloat.js"; export class MarkerNodeActionWeightedElement { /** * * @type {MarkerNodeAction} */ action = null; /** * * @type {CellFilter} */ weight = null; /** * * @param {GridData} grid * @param {EntityComponentDataset} ecd * @param {number} seed */ initialize(grid, ecd, seed) { this.action.initialize(grid, ecd, seed); if (!this.weight.initialized) { this.weight.initialize(grid, seed); } } /** * * @param {MarkerNodeAction} action * @param {CellFilter} weight * @returns {MarkerNodeActionWeightedElement} */ static from(action, weight = CellFilterLiteralFloat.ONE) { assert.equal(action.isMarkerNodeAction, true, 'action.isMarkerNodeAction !== true'); assert.equal(weight.isCellFilter, true, 'weight.isCellFilter !== true'); const r = new MarkerNodeActionWeightedElement(); r.action = action; r.weight = weight; return r; } }