-Serpentity is a simple entity framework inspired by Ash.
+# Serpentity
+
+Serpentity is a simple entity framework inspired by [Ash][ash].
Usage:
-require('serpentity');
+ require('serpentity');
## Instantiating an engine
-var engine = Serpentity();
+ var engine = Serpentity();
Add entities or systems:
Entities are the basic object of Serpentity, and they do nothing.
- var entity = new Serpentity.entity();
+ var entity = new Serpentity.Entity();
All the behavior is added through components
Systems are called on every update, and they use components through nodes.
-Class("TestSystem").inherits(Serpentity.System)({
- prototype : {
- added : function added(engine){
- this.nodeList = engine.getNodes(MovementNode);
- },
- removed : function removed(engine){
- this.nodeList = undefined;
- }
- update : function update(dt){
- this.nodeList.forEach(function (node) {
- console.log("Current position is: " + node.position.x + "," + node.position.y);
- });
+ Class("TestSystem").inherits(Serpentity.System)({
+ prototype : {
+ added : function added(engine){
+ this.nodeList = engine.getNodes(MovementNode);
+ },
+ removed : function removed(engine){
+ this.nodeList = undefined;
+ }
+ update : function update(dt){
+ this.nodeList.forEach(function (node) {
+ console.log("Current position is: " + node.position.x + "," + node.position.y);
+ });
+ }
}
- }
-});
+ });
## That's it
## TO-DO
+* Priorities
* Removing components
* Implement the ashteroids demo (Serpentoids)
* Actually check performance
+
+[ash]: http://www.ashframework.org/