summaryrefslogtreecommitdiff
path: root/src/bobber.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/bobber.moon')
-rw-r--r--src/bobber.moon39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/bobber.moon b/src/bobber.moon
index cee0f14..6f52c6b 100644
--- a/src/bobber.moon
+++ b/src/bobber.moon
@@ -1,8 +1,6 @@
world = require("world")
sprites = require("world.sprites")
ecs = require("ecs")
-win = require("window")
-colors = require("color")
class BobberGraphicsComponent extends world.GraphicsComponent
@loctbl = {
@@ -18,7 +16,7 @@ class BobberGraphicsComponent extends world.GraphicsComponent
populate_buf: (geom_view, normal_view, offset) =>
@buf = geom_view
h = 0.1
- uv = sprites.bobber_normal
+ uv = sprites.player_normal
utbl = {
[-1]: {uv.s1, uv.t1}
[1]: {uv.s2, uv.t2}
@@ -29,22 +27,6 @@ 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) =>
@@ -73,5 +55,24 @@ 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}