diff options
| author | Ben Beltran <ben@nsovocal.com> | 2017-04-12 00:27:18 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2017-04-12 00:27:18 -0500 |
| commit | f6b24085682c670793726ef6e4aaf8f8e043fe3d (patch) | |
| tree | f8eedfe917944f857d24797c1c10e0e929574440 | |
| parent | f2a4303543b0b0c1a62681c74244176aa778f417 (diff) | |
Modify docs for deprecationsupport/deprecate-old-package
| -rw-r--r-- | README.md | 102 | ||||
| -rw-r--r-- | package.json | 4 |
2 files changed, 7 insertions, 99 deletions
@@ -1,102 +1,10 @@ # Serpentity -Serpentity is a simple entity framework inspired by [Ash][ash]. +Serpentity has moved! -Usage: +Check out: [@serpentity/serpentity][serpentity-package] - const Serpentity = require('serpentity'); +This package will stay at 2.0.0 (initial release of +@serpentity/serpentity) but won't receive further updates. -## Instantiating an engine - - const engine = new Serpentity(); - -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(), priority); - -Update all systems: - - engine.update(dt); - -Remove entities or systems: - - engine.removeEntity(entityReference); - engine.removeSystem(systemReference); - -## Creating Entities - -Entities are the basic object of Serpentity, and they do nothing. - - const entity = new Serpentity.Entity(); - -All the behavior is added through components - -## Creating Components - -Components define data that we can add to an entity. This data will -eventually be consumed by "Systems" - - const PositionComponent = class PositionComponent extends Serpentity.Component { - constructor(config) { - - this.x = 0; - this.y = 0; - - super(config); - } - }; - -You can add components to entities by using the add method: - - entity.addComponent(new PositionComponent()); - - -Systems can refer to entities by requesting nodes. - -## Working with Nodes - -Nodes are sets of components that you define, so your system can require -entities that always follow the API defined in the node. - - const MovementNode = class MovementNode extends Serpentity.Node; - MovementNode.position = PositionComponent; - MovementNode.motion = MotionComponent; - -You can then request an array of all the nodes representing entities -that comply with that API - - engine.getNodes(MovementNode); - -## Creating Systems - -Systems are called on every update, and they use components through nodes. - - const TestSystem = class TestSystem extends Serpentity.System { - added(engine){ - - this.nodeList = engine.getNodes(MovementNode); - } - - removed(engine){ - - this.nodeList = undefined; - } - - update(dt){ - - for (const node of this.nodeList) { - console.log(`Current position is: ${node.position.x},${node.position.y}`); - } - } - }; - -## That's it - -Just run `engine.update(dt)` in your game loop :D - -![Travis CI Build Status][travis-ci-badge] - -[ash]: http://www.ashframework.org/ -[travis-ci-badge]: https://travis-ci.org/serpentity/serpentity.svg?branch=master +[serpentity-package]: https://www.npmjs.com/package/@serpentity/serpentity diff --git a/package.json b/package.json index e43da44..964ba73 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "@serpentity/serpentity", - "description": "An Entity-Component-System Engine", + "name": "serpentity", + "description": "An Entity-Component-System Engine [DEPRECATED]", "version": "2.0.0", "contributors": [ { |