Skip to content

Instantly share code, notes, and snippets.

View trymnilsen's full-sized avatar
🏰

Trym Nilsen trymnilsen

🏰
  • Oslo, Norway
  • 17:55 (UTC +01:00)
View GitHub Profile
@trymnilsen
trymnilsen / ecsSystem.ts
Created November 17, 2024 15:42
Typescript ECS System
export type ComponentFn<T extends EcsComponent = EcsComponent> = new (
...args: any[]
) => T;
export type QueryData<T extends QueryObject = QueryObject> = {
[P in keyof T]: InstanceType<T[P]>[];
};
export interface QueryObject<T extends ComponentFn = ComponentFn> {
[componentName: string]: T;

Keybase proof

I hereby claim:

  • I am trymnilsen on github.
  • I am trymnilsen (https://keybase.io/trymnilsen) on keybase.
  • I have a public key ASCGbEdAsKrTdF0Hjuyy92-5Aj4Sty0u3l6Uf2zh1xm-Xgo

To claim this, I am signing this object: