summaryrefslogtreecommitdiff
path: root/src/test_entity.moon
diff options
context:
space:
mode:
authorAlexander M Pickering <alex@cogarr.net>2025-01-25 20:40:09 -0600
committerAlexander M Pickering <alex@cogarr.net>2025-01-25 20:40:09 -0600
commitb174b8c00026253fd40ec262e430b0bb764e31ea (patch)
tree173d294b98fe14727aef9cd42542f41a940f5ffa /src/test_entity.moon
parent89a8f94ac0206412c1a2d7b8766d97dbdbd36253 (diff)
downloadggj25-b174b8c00026253fd40ec262e430b0bb764e31ea.tar.gz
ggj25-b174b8c00026253fd40ec262e430b0bb764e31ea.tar.bz2
ggj25-b174b8c00026253fd40ec262e430b0bb764e31ea.zip
work
Diffstat (limited to 'src/test_entity.moon')
-rw-r--r--src/test_entity.moon36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test_entity.moon b/src/test_entity.moon
new file mode 100644
index 0000000..a9ae170
--- /dev/null
+++ b/src/test_entity.moon
@@ -0,0 +1,36 @@
+
+ecs = require("ecs")
+world = require("world")
+sprites = require("world.sprites")
+
+class TestGraphicComponent extends world.GraphicsComponent
+ @test_size = 0.5
+ @static = false
+ buf_size: () =>
+ 6
+ populate_buf: (geom_view, normal_view, offset) =>
+ assert(@properties.pos, "Test entity needs a position")
+ @buf = geom_view
+ h = @@test_size / 2
+ pos = @properties.pos
+ geom_view[1] = vec3(-h,-h,1) + pos
+ geom_view[2] = vec3(-h,h,1) + pos
+ geom_view[3] = vec3(-h,-h,1) + pos
+ geom_view[4] = vec3(h,h,1) + pos
+ geom_view[5] = vec3(h,-h,1) + pos
+ geom_view[6] = vec3(-h,-h,1) + pos
+ uv = sprites.player_normal
+ normal_view[1] = vec2(uv.s1,uv.t1)
+ normal_view[2] = vec2(uv.s1,uv.t2)
+ normal_view[3] = vec2(uv.s2,uv.t2)
+ normal_view[4] = vec2(uv.s2,uv.t2)
+ normal_view[5] = vec2(uv.s2,uv.t1)
+ normal_view[6] = vec2(uv.s1,uv.t1)
+
+class TestEntity extends ecs.Entity
+ new: (id, pos) =>
+ super(id,{
+ graphic: TestGraphicComponent("graphic",{pos: pos})
+ })
+
+{:TestEntity}