mirror of
https://github.com/Ukendio/jecs.git
synced 2025-04-24 17:10:03 +00:00
Compare commits
2 commits
1bc49df750
...
731ea960ef
Author | SHA1 | Date | |
---|---|---|---|
|
731ea960ef | ||
|
4435d718a7 |
3 changed files with 14 additions and 4022 deletions
30
jecs.d.ts
vendored
30
jecs.d.ts
vendored
|
@ -31,31 +31,27 @@ export type Id<TData = unknown> = Entity<TData> | Pair<TData, unknown> | Pair<un
|
|||
export type InferComponent<E> = E extends Entity<infer D>
|
||||
? D
|
||||
: E extends Pair<infer P, infer O>
|
||||
? P extends undefined
|
||||
? O
|
||||
: P
|
||||
: never;
|
||||
? P extends undefined
|
||||
? O
|
||||
: P
|
||||
: never;
|
||||
|
||||
type FlattenTuple<T extends unknown[]> = T extends [infer U] ? U : LuaTuple<T>;
|
||||
type Nullable<T extends unknown[]> = { [K in keyof T]: T[K] | undefined };
|
||||
type InferComponents<A extends Id[]> = { [K in keyof A]: InferComponent<A[K]> };
|
||||
|
||||
type ArchetypeId = number
|
||||
type ArchetypeId = number;
|
||||
type Column = unknown[];
|
||||
|
||||
type ArchetypeRecord = {
|
||||
count: number;
|
||||
column: number;
|
||||
}
|
||||
|
||||
export type Archetype = {
|
||||
id: number;
|
||||
types: number[];
|
||||
type: string;
|
||||
entities: number[];
|
||||
columns: Column[];
|
||||
records: ArchetypeRecord[];
|
||||
}
|
||||
id: number;
|
||||
types: number[];
|
||||
type: string;
|
||||
entities: number[];
|
||||
columns: Column[];
|
||||
records: number[];
|
||||
counts: number[];
|
||||
};
|
||||
|
||||
type Iter<T extends unknown[]> = IterableFunction<LuaTuple<[Entity, ...T]>>;
|
||||
|
||||
|
|
4004
package-lock.json
generated
4004
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@rbxts/jecs",
|
||||
"version": "0.5.4",
|
||||
"version": "0.5.5",
|
||||
"description": "Stupidly fast Entity Component System",
|
||||
"main": "jecs.luau",
|
||||
"repository": {
|
||||
|
|
Loading…
Reference in a new issue