import { Component } from '@serpentity/serpentity'; /** * Component that stores a dash skill * * @extends {external:Serpentity.Component} * @class GrabComponent * @param {object} config a configuration object to extend. */ export default class GrabComponent extends Component { constructor(config) { super(config); /** * The properthy that holds the grab state * * @property {boolean} grabbing * @instance * @memberof GrabComponent */ this.dashing = this.grabbing || false; /** * The constraint used for the grab * * @property {external:MatterJs.Constraint} constraint * @instance * @memberof GrabComponent */ this.constraint = this.constraint || null; /** * Whether the grab is locked from occuring * * @property {boolean} locked * @instance * @memberof GrabComponent */ this.locked = this.locked || false; /** * Cooldown before lock is removed * * @property {number} cooldown * @instance * @memberof GrabComponent */ this.cooldown = this.cooldown || 3000; /** * Current cooldown * * @property {number} currentCooldown * @instance * @memberof GrabComponent */ this.currentCooldown = 0; } }