ncs
v2.1.5
Published
Minimalist Entity Component System
Downloads
41
Maintainers
Readme
NCS
API
getComponent( target, id? )
Returns the last instantiated component of targetgetAllComponents( target, id? )
Returns all components of target with specified idaddComponent( target, id? )
Creates and returns a new component of targetremoveComponent( target : Function | Object, id? )
Removes all instances of target if type is a Function, Object removes this specific componentdestroyEntity( id : number )
Destroys all components on an entityrunSystem( target, function_name )
Runs specified function on all specified componentrunSystemCB( target, callback )
Iterates through every target component, passing the component itself in to the callback
Example
import * as NCS from "ncs";
// or var NCS = require( "ncs" );
class One extends NCS.Component
{
constructor() {
super();
// let three = this.addComponent( Three );
// let two = this.addComponent( Two, [ 123 ] );
}
// Or.....
OnInit() {
let three = this.addComponent( Three );
let two = this.addComponent( Two, [ 123 ] );
// Removes only this specific Three
this.removeComponent( three );
// This will remove all Three on this entity
// this.removeComponent( Three );
}
}
class Two extends NCS.Component
{
// constructor( value ) { ......
// or vvv
OnInit( value ) {
let one = this.getComponent( One );
let three = this.getComponent( Three );
}
foo() {
console.log( "Foo! from id: " + this.instanceID );
}
}
class Three
{
constructor() {
console.log( "Three" );
}
}
let one = new One();
NCS.runSystem( Two, "foo" );
// Or.....
NCS.runSystemCB( Two, two => {
two.foo();
});
one.destroyEntity(); // Destroy all references on NCS