@dcl/ecs
Version:
Decentraland ECS
41 lines (40 loc) • 1.04 kB
TypeScript
import { LastWriteWinElementSetComponentDefinition, IEngine } from '../../engine';
import { Entity } from '../../engine/entity';
/**
* @public
*/
export type TransformComponent = LastWriteWinElementSetComponentDefinition<TransformType>;
/**
* @public
*/
export interface TransformComponentExtended extends TransformComponent {
create(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
createOrReplace(entity: Entity, val?: TransformTypeWithOptionals): TransformType;
}
/**
* @public
*/
export type TransformType = {
position: {
x: number;
y: number;
z: number;
};
rotation: {
x: number;
y: number;
z: number;
w: number;
};
scale: {
x: number;
y: number;
z: number;
};
parent?: Entity;
};
/**
* @public
*/
export type TransformTypeWithOptionals = Partial<TransformType>;
export declare function defineTransformComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): TransformComponentExtended;