aboutsummaryrefslogtreecommitdiff
path: root/lib/nodes
diff options
context:
space:
mode:
authorRubén Beltrán del Río <ben@nsovocal.com>2018-05-28 21:35:38 -0500
committerGitHub <noreply@github.com>2018-05-28 21:35:38 -0500
commit1676911c8a2621274bf75ff7271faa926cf58d6c (patch)
tree776613e919a5fae242ba65f0871028d4c678bcff /lib/nodes
parent764ac76aa90b75cd5d79c217220654a6975069af (diff)
Add Grab System (#9)
* Remove unused code * Adds grab components * Adds grab nodes * Add sensors to the physics world * Add grab systems * Add new sprites * Attach grab components * Add grab system to engine * Update changelog
Diffstat (limited to 'lib/nodes')
-rw-r--r--lib/nodes/drawn_grabber.js27
-rw-r--r--lib/nodes/grab_area.js25
-rw-r--r--lib/nodes/grabbable.js27
-rw-r--r--lib/nodes/grabber.js29
4 files changed, 108 insertions, 0 deletions
diff --git a/lib/nodes/drawn_grabber.js b/lib/nodes/drawn_grabber.js
new file mode 100644
index 0000000..49af6d4
--- /dev/null
+++ b/lib/nodes/drawn_grabber.js
@@ -0,0 +1,27 @@
+import { Node } from '@serpentity/serpentity';
+
+import GrabComponent from '../components/grab';
+import PixiContainerComponent from '../components/pixi_container';
+
+/**
+ * Node identifying an entity that can grab and is drawn
+ *
+ * @extends {external:Serpentity.Node}
+ * @class DrawnGrabberNode
+ */
+export default class DrawnGrabberNode extends Node {
+
+};
+
+/**
+ * Holds the types that are used to identify a drawn grabber entity
+ *
+ * @property {object} types
+ * @name types
+ * @memberof DrawnGrabberNode
+ */
+DrawnGrabberNode.types = {
+ container: PixiContainerComponent,
+ grab: GrabComponent
+};
+
diff --git a/lib/nodes/grab_area.js b/lib/nodes/grab_area.js
new file mode 100644
index 0000000..9f6c3e0
--- /dev/null
+++ b/lib/nodes/grab_area.js
@@ -0,0 +1,25 @@
+import { Node } from '@serpentity/serpentity';
+
+import GrabAreaComponent from '../components/grab_area';
+
+/**
+ * Node identifying an entity that have a physical grab area
+ *
+ * @extends {external:Serpentity.Node}
+ * @class GrabAreaNode
+ */
+export default class GrabAreaNode extends Node {
+
+};
+
+/**
+ * Holds the types that are used to identify an entity with a grab
+ * area
+ *
+ * @property {object} types
+ * @name types
+ * @memberof GrabAreaNode
+ */
+GrabAreaNode.types = {
+ grabArea: GrabAreaComponent
+};
diff --git a/lib/nodes/grabbable.js b/lib/nodes/grabbable.js
new file mode 100644
index 0000000..4711764
--- /dev/null
+++ b/lib/nodes/grabbable.js
@@ -0,0 +1,27 @@
+import { Node } from '@serpentity/serpentity';
+
+import BodyComponent from '../components/body';
+import GrabbableComponent from '../components/grabbable';
+
+/**
+ * Node identifying an entity that can grab another
+ *
+ * @extends {external:Serpentity.Node}
+ * @class GrabbableNode
+ */
+export default class GrabbableNode extends Node {
+
+};
+
+/**
+ * Holds the types that are used to identify a grabbable entity
+ *
+ * @property {object} types
+ * @name types
+ * @memberof GrabbableNode
+ */
+GrabbableNode.types = {
+ body: BodyComponent,
+ grabbable: GrabbableComponent
+};
+
diff --git a/lib/nodes/grabber.js b/lib/nodes/grabber.js
new file mode 100644
index 0000000..db61365
--- /dev/null
+++ b/lib/nodes/grabber.js
@@ -0,0 +1,29 @@
+import { Node } from '@serpentity/serpentity';
+
+import BodyComponent from '../components/body';
+import GrabAreaComponent from '../components/grab_area';
+import GrabComponent from '../components/grab';
+
+/**
+ * Node identifying an entity that can grab another
+ *
+ * @extends {external:Serpentity.Node}
+ * @class GrabberNode
+ */
+export default class GrabberNode extends Node {
+
+};
+
+/**
+ * Holds the types that are used to identify a grabber entity
+ *
+ * @property {object} types
+ * @name types
+ * @memberof GrabberNode
+ */
+GrabberNode.types = {
+ body: BodyComponent,
+ grabArea: GrabAreaComponent,
+ grab: GrabComponent
+};
+