avocado-old/packages/entity/traits/registry.js
2019-03-17 23:45:48 -05:00

30 lines
670 B
JavaScript

// import {registerType} from '@avocado/behavior';
const traitRegistry = new Map();
export function registerTrait(Trait) {
traitRegistry.set(Trait.type(), Trait);
// registerType(`entity:trait:${Trait.type()}`, Trait.contextType());
}
export function hasTrait(type) {
return traitRegistry.has(type);
}
export function lookupTrait(type) {
return traitRegistry.get(type);
}
// Register core traits.
import {Directional} from './directional';
registerTrait(Directional);
import {Existent} from './existent';
registerTrait(Existent);
import {Mobile} from './mobile';
registerTrait(Mobile);
import {Positioned} from './positioned';
registerTrait(Positioned);