diff options
Diffstat (limited to 'src/bobber.moon')
| -rw-r--r-- | src/bobber.moon | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/src/bobber.moon b/src/bobber.moon index 6f52c6b..cee0f14 100644 --- a/src/bobber.moon +++ b/src/bobber.moon @@ -1,6 +1,8 @@ world = require("world") sprites = require("world.sprites") ecs = require("ecs") +win = require("window") +colors = require("color") class BobberGraphicsComponent extends world.GraphicsComponent @loctbl = { @@ -16,7 +18,7 @@ class BobberGraphicsComponent extends world.GraphicsComponent populate_buf: (geom_view, normal_view, offset) => @buf = geom_view h = 0.1 - uv = sprites.player_normal + uv = sprites.bobber_normal utbl = { [-1]: {uv.s1, uv.t1} [1]: {uv.s2, uv.t2} @@ -27,6 +29,22 @@ class BobberGraphicsComponent extends world.GraphicsComponent loctbl = @@loctbl[i] geom_view[i] = vec3(@@loctbl[i][1] * h, @@loctbl[i][2] * h, z) + vec3(@properties.pos.x, @properties.pos.y, z) normal_view[i] = vec2(utbl[@@loctbl[i][1]][1], utbl[@@loctbl[i][2]][2]) + join: (entity) => + super(entity) + aspect = win.width / win.height + program = @.node("use_program") + graphic = entity\get("bobber") + @node\remove(program) + @node\append(am.blend("alpha")\append(program)) + bind = @.node("bind") + [[ + for name, color in pairs(colors.am_lake_color) + bind[name] = color + ]] + bind.water = 1 + @ent = entity + @last_bubble = am.current_time! + comp = @ class BobberPhysicsComponent extends world.PhysicsComponent new: (name, properties, shape, args) => @@ -55,24 +73,5 @@ class Bobber extends ecs.Entity return false -class BubblesGraphicsComponent extends world.GraphicsComponent - buf_size: () => - 6 - populate_buf: (geom_view, normal_view, offset) => - h = 1 - geom_view[1] = vec3(-h,-h,1) - geom_view[2] = vec3(-h,h,1) - geom_view[3] = vec3(-h,-h,1) - geom_view[4] = vec3(h,h,1) - geom_view[5] = vec3(h,-h,1) - geom_view[6] = vec3(-h,-h,1) - 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) - bind = @.node("bind") {:BobberGraphicsComponent, :BobberPhysicsComponent, :Bobber} |
