Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectBackup/C#/TSEngine/Core/Components/baseComponent.ts
2022-09-04 12:45:01 +02:00

35 lines
797 B
TypeScript

namespace TSE {
export abstract class BaseComponent {
public name: string;
protected _owner: SimObject;
protected _data: IComponentData;
public constructor(data: IComponentData) {
this._data = data;
this.name = data.name;
}
public get owner(): SimObject { return this._owner; }
public set owner(value: SimObject) { this._owner = value; }
public load(): void { }
public update(time: number): void { }
public render(shader: Shader): void { }
}
export interface IComponentData {
name: string;
setFromJson(json: any): void;
}
export interface IComponentBuilder {
get type(): string;
buildFromJson(json: any): BaseComponent;
}
}