diff options
Diffstat (limited to 'src/test_entity.moon')
| -rw-r--r-- | src/test_entity.moon | 36 |
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} |
