diff options
| author | Rubén Beltrán del Río <ben@nsovocal.com> | 2018-05-28 21:35:38 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-28 21:35:38 -0500 |
| commit | 1676911c8a2621274bf75ff7271faa926cf58d6c (patch) | |
| tree | 776613e919a5fae242ba65f0871028d4c678bcff /lib/nodes | |
| parent | 764ac76aa90b75cd5d79c217220654a6975069af (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.js | 27 | ||||
| -rw-r--r-- | lib/nodes/grab_area.js | 25 | ||||
| -rw-r--r-- | lib/nodes/grabbable.js | 27 | ||||
| -rw-r--r-- | lib/nodes/grabber.js | 29 |
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 +}; + |