refactor: entities

This commit is contained in:
cha0s 2024-06-11 18:42:48 -05:00
parent a31bc01911
commit 7ccfe492cd
3 changed files with 31 additions and 15 deletions

View File

@ -3,9 +3,10 @@ import {useState} from 'react';
import {RESOLUTION} from '@/constants.js'
import Ecs from '@/engine/ecs.js';
import usePacket from '@/hooks/use-packet';
import usePacket from '@/hooks/use-packet.js';
import TileLayer from './tile-layer';
import Entities from './entities.jsx';
import TileLayer from './tile-layer.jsx';
const tiles = Array(100 * 100).fill(0).map(() => 1 + Math.floor(Math.random() * 4));
@ -39,18 +40,6 @@ export default function EcsComponent() {
}
const {Camera} = mainEntity;
const [cx, cy] = [Camera.x - RESOLUTION.x / 2, Camera.y - RESOLUTION.y / 2];
const sprites = [];
for (const id in entities) {
const entity = entities[id];
sprites.push(
<Sprite
image={entity.Sprite.image}
key={id}
x={entity.Position.x - cx}
y={entity.Position.y - cy}
/>
);
}
return (
<Container>
<TileLayer
@ -61,7 +50,11 @@ export default function EcsComponent() {
x={-cx}
y={-cy}
/>
{sprites}
<Entities
entities={entities}
x={-cx}
y={-cy}
/>
</Container>
)
}

View File

@ -0,0 +1,21 @@
import {Container, Sprite} from '@pixi/react';
export default function Entities({entities, x, y}) {
const sprites = [];
for (const id in entities) {
const entity = entities[id];
sprites.push(
<Sprite
image={entity.Sprite.image}
key={id}
x={entity.Position.x}
y={entity.Position.y}
/>
);
}
return (
<Container x={x} y={y}>
{sprites}
</Container>
)
}

2
public/assets/tileset.js Normal file → Executable file
View File

@ -1,3 +1,5 @@
#!/usr/bin/env node
import {writeFileSync} from 'node:fs';
import {basename, dirname, extname, join} from 'node:path';