4.4.0 • Published 7 years ago

sam-ecs v4.4.0

Weekly downloads
3
License
ISC
Repository
github
Last release
7 years ago

Sam-ECS: Sam's entity component system

Simple but specialized entity component system. Currently work in progress

Installation

$ npm install --save sam-ecs

Usage (ES6)

import { Manager, Entity, Processor } from 'sam-ecs';

//manager creation
var manager = new Manager();

//empty entity creation
var entity = new Entity(manager);

// add component to entity
/* Each component has to have at a minimum a 'name' and
 * 'state' object
 */
entity.addComponent({name: 'Transform', state: {x: 0, y: 0}});

// processor definition
class RenderProcessor extends Processor {
  constructor(manager, name) {
    super(manager, name);
    
    /* every entity that contains a render component
     * will be given to this processor's update
     * function
     */
    this.components = new Set(['Render']);
  }

  // Called every time manager.update is called
  update(entities, manager) {
    for (var hash of entities) {
      var entity = manager.getEntity(hash);
      // render entity
    }
  }

  // Required, called by the manager
  getComponentNames() {
    return this.components;
  }
}
4.4.0

7 years ago

4.3.10

7 years ago

4.3.9

7 years ago

4.3.8

7 years ago

4.3.7

7 years ago

4.3.6

7 years ago

4.3.5

7 years ago

4.3.4

7 years ago

4.3.3

7 years ago

4.3.2

7 years ago

4.3.1

7 years ago

4.3.0

7 years ago

4.2.16

7 years ago

4.2.15

7 years ago

4.2.14

7 years ago

4.2.13

7 years ago

4.2.12

7 years ago

4.2.11

7 years ago

4.2.10

7 years ago

4.2.9

7 years ago

4.2.8

7 years ago

4.2.7

7 years ago

4.2.6

7 years ago

4.2.5

7 years ago

4.2.4

7 years ago

4.2.3

7 years ago

4.2.2

7 years ago

4.2.0

7 years ago

4.1.4

7 years ago

4.1.3

7 years ago

4.1.2

7 years ago

4.1.1

7 years ago

4.1.0

7 years ago

4.0.16

7 years ago

4.0.15

7 years ago

4.0.14

7 years ago

4.0.13

7 years ago

4.0.12

7 years ago

4.0.11

7 years ago

4.0.10

7 years ago

4.0.9

7 years ago

4.0.8

7 years ago

4.0.7

7 years ago

4.0.6

7 years ago

4.0.5

7 years ago

4.0.4

7 years ago

4.0.3

7 years ago

4.0.2

7 years ago

4.0.1

7 years ago

4.0.0

7 years ago

3.3.2

7 years ago

3.3.1

7 years ago

3.3.0

7 years ago

3.2.1

7 years ago

3.2.0

7 years ago

3.1.1

7 years ago

3.1.0

7 years ago

3.0.0

7 years ago

2.2.4

7 years ago

2.2.3

7 years ago

2.2.2

7 years ago

2.2.1

7 years ago

2.2.0

7 years ago

2.1.0

7 years ago

2.0.0

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.5

7 years ago

1.0.4

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago