aboutsummaryrefslogtreecommitdiff
path: root/static/src/engine/component.ts
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth@simponic.xyz>2024-09-07 20:20:07 -0700
committerElizabeth Hunt <elizabeth@simponic.xyz>2024-09-12 17:23:30 -0700
commit8ec7f5368232d59f344e1067e1bad5e48dbcb7ae (patch)
tree1ad2df4dc00773f2307d1525cc80ac7410ea8fba /static/src/engine/component.ts
parente4e31978bae7e45be57b376415a4b925ac8cbc03 (diff)
downloadkennel.hatecomputers.club-8ec7f5368232d59f344e1067e1bad5e48dbcb7ae.tar.gz
kennel.hatecomputers.club-8ec7f5368232d59f344e1067e1bad5e48dbcb7ae.zip
get "cats" up there
Diffstat (limited to 'static/src/engine/component.ts')
-rw-r--r--static/src/engine/component.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/static/src/engine/component.ts b/static/src/engine/component.ts
new file mode 100644
index 0000000..9607fec
--- /dev/null
+++ b/static/src/engine/component.ts
@@ -0,0 +1,24 @@
+export enum ComponentType {
+ POSITION = "POSITION",
+ RENDERABLE = "RENDERABLE",
+ TRAILING_POSITION = "TRAILING_POSITION",
+}
+
+export interface Component {
+ name: ComponentType;
+}
+
+export interface PositionComponent extends Component {
+ name: ComponentType.POSITION;
+ x: number;
+ y: number;
+}
+
+export interface TrailingPositionComponent extends Component {
+ name: ComponentType.TRAILING_POSITION;
+ trails: Array<{ x: number; y: number; time: number }>;
+}
+
+export interface RenderableComponent extends Component {
+ name: ComponentType.RENDERABLE;
+}