aboutsummaryrefslogtreecommitdiff
path: root/lib/components/points_collider.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/components/points_collider.js')
-rw-r--r--lib/components/points_collider.js35
1 files changed, 35 insertions, 0 deletions
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';
+ }
+};
+