X-Git-Url: https://git.r.bdr.sh/rbdr/serpentity/blobdiff_plain/85861d6720c30adc4afd1e041fd7e27fb596dde7..5077b10bd397eb290af90ca5e49f32a95e81e9a7:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 3878dd1..3d2ebb0 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,20 @@ -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: +Add entities or systems, systems are added with a priority (the smaller +the number, the earlier it will be called): engine.addEntity(entityFactory()); - engine.addSystem(new GameSystem()); + engine.addSystem(new GameSystem(), priority); Update all systems: @@ -26,7 +29,7 @@ Remove 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 @@ -70,21 +73,21 @@ that comply with that API 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 @@ -95,3 +98,5 @@ Just run `engine.update(dt)` in your game loop :D * Removing components * Implement the ashteroids demo (Serpentoids) * Actually check performance + +[ash]: http://www.ashframework.org/