not sure its better or not

This commit is contained in:
kolaflash
2026-01-11 20:55:37 +01:00
parent 775e8b66ec
commit 38428cf470
10 changed files with 10 additions and 9 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ import { GraphBrowser } from "./GraphBrowser.tsx";
async function fetchScenes(): Promise<string[]> {
const indexRef: string[] = await (await fetch(`/api/scenes`)).json();
const items = indexRef.filter((value) => value.includes("index"));
const items = indexRef.filter((value) => value.includes("scene"));
return items.map((i) => i.substring(1).split("/")[0]);
}
+4 -3
View File
@@ -20,16 +20,17 @@ export const entityAnimateMap = new Map<string, Animate<Indirect>>();
export const entityProcessMap = new Map<string, Process<Indirect>>();
export function useEntity<T extends object>(
name: string,
data: T,
meta: { url: string },
state: T,
): {
animate: (fn: Animate<T>) => void;
process: (fn: Process<T>) => void;
} {
const name = meta.url.match(/entities\/(.+)\/entity\.ts$/)![1];
entityMap.set(name, {
name,
position: createVector(),
...data,
...state,
});
return {
+2 -2
View File
@@ -48,7 +48,7 @@ export const sceneGraph: Graph<string> = new Map();
export const [loadScene, sceneCache] = useWithAsyncCache(
async (name: string) => {
await import(`#/scenes/${name}/index.ts`);
await import(`#/scenes/${name}/scene.ts`);
const data = sceneDataMap.get(name)!;
const entityInstanceMap = sceneEntiyMap.get(name)!;
@@ -56,7 +56,7 @@ export const [loadScene, sceneCache] = useWithAsyncCache(
await Promise.all(
data.entities.map(async (entity: Entity<unknown>) => {
await import(`#/entities/${entity.name}/index.ts`);
await import(`#/entities/${entity.name}/entity.ts`);
if (!entityInstanceMap.has(entity.name)) {
entityInstanceMap.set(entity.name, {
@@ -4,7 +4,7 @@ import { fromSrc, type Sprite } from "#/lib/Sprite.ts";
const idle: Sprite = await fromSrc("/assets/hero/idle.png", 5, 4);
const { animate, process } = useEntity("barEntity", {
const { animate, process } = useEntity(import.meta, {
animation: createAnimation(0, 200),
stuff: 1,
});
@@ -5,7 +5,7 @@ import { fromSrc, type Sprite } from "#/lib/Sprite.ts";
const idle: Sprite = await fromSrc(charIdle, 2, 4);
const { animate, process } = useEntity("fooEntity", {
const { animate, process } = useEntity(import.meta, {
animation: createAnimation(2, 500),
});
@@ -22,7 +22,7 @@ const { animate, process } = useEntity<{
};
currentAnimation: "idle" | "walk";
stuff: number;
}>("testEntity", {
}>(import.meta, {
animations: {
idle: createAnimation(2, 500),
walk: createAnimation(2, 250),