mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
/* typehints:start */
|
|
import { StaticMapEntityComponent } from "./components/static_map_entity";
|
|
import { BeltComponent } from "./components/belt";
|
|
import { ItemEjectorComponent } from "./components/item_ejector";
|
|
import { ItemAcceptorComponent } from "./components/item_acceptor";
|
|
import { MinerComponent } from "./components/miner";
|
|
import { ItemProcessorComponent } from "./components/item_processor";
|
|
import { ReplaceableMapEntityComponent } from "./components/replaceable_map_entity";
|
|
import { UndergroundBeltComponent } from "./components/underground_belt";
|
|
import { UnremovableComponent } from "./components/unremovable";
|
|
import { HubComponent } from "./components/hub";
|
|
/* typehints:end */
|
|
|
|
/**
|
|
* Typedefs for all entity components. These are not actually present on the entity,
|
|
* thus they are undefined by default
|
|
*/
|
|
export class EntityComponentStorage {
|
|
constructor() {
|
|
// TODO: Figure out if its faster to declare all components here and not
|
|
// compile them out (In theory, should make it a fast object in V8 engine)
|
|
|
|
/* typehints:start */
|
|
|
|
/** @type {StaticMapEntityComponent} */
|
|
this.StaticMapEntity;
|
|
|
|
/** @type {BeltComponent} */
|
|
this.Belt;
|
|
|
|
/** @type {ItemEjectorComponent} */
|
|
this.ItemEjector;
|
|
|
|
/** @type {ItemAcceptorComponent} */
|
|
this.ItemAcceptor;
|
|
|
|
/** @type {MinerComponent} */
|
|
this.Miner;
|
|
|
|
/** @type {ItemProcessorComponent} */
|
|
this.ItemProcessor;
|
|
|
|
/** @type {ReplaceableMapEntityComponent} */
|
|
this.ReplaceableMapEntity;
|
|
|
|
/** @type {UndergroundBeltComponent} */
|
|
this.UndergroundBelt;
|
|
|
|
/** @type {UnremovableComponent} */
|
|
this.Unremovable;
|
|
|
|
/** @type {HubComponent} */
|
|
this.Hub;
|
|
|
|
/* typehints:end */
|
|
}
|
|
}
|