From 3100e0533cb89a185ea021dfb83c4f364750180f Mon Sep 17 00:00:00 2001 From: Rubén Beltrán del Río Date: Tue, 29 May 2018 02:34:38 -0500 Subject: Add Naive Game Rules (#11) * Add components for tracking points * Add methods to create new entities * Adds nodes for points * Add system to detect points * Adds system to detect a winner * Add system to render points and winner * Add points required to win to config * Add it all to the engine * Add mention of points to changelog --- lib/components/points_collider.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lib/components/points_collider.js (limited to 'lib/components/points_collider.js') diff --git a/lib/components/points_collider.js b/lib/components/points_collider.js new file mode 100644 index 0000000..ceec7ee --- /dev/null +++ b/lib/components/points_collider.js @@ -0,0 +1,35 @@ +import { Component } from '@serpentity/serpentity'; + +/** + * Component that stores a collision target and points accumulation + * target + * + * @extends {external:Serpentity.Component} + * @class PointsColliderComponent + * @param {object} config a configuration object to extend. + */ +export default class PointsColliderComponent extends Component { + constructor(config) { + + super(config); + + /** + * The target entity that will generate points if it collides + * + * @property {external:Serpentity.Entity} collisionTarget + * @instance + * @memberof PointsColliderComponent + */ + this.collisionTarget = this.collisionTarget || null; + + /** + * The target entity that will generate points if it collides + * + * @property {string} pointsTarget + * @instance + * @memberof PointsColliderComponent + */ + this.pointsTarget = this.pointsTarget || 'nobody'; + } +}; + -- cgit