summaryrefslogtreecommitdiff
path: root/src/controllers/fish.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/controllers/fish.moon')
-rw-r--r--src/controllers/fish.moon33
1 files changed, 4 insertions, 29 deletions
diff --git a/src/controllers/fish.moon b/src/controllers/fish.moon
index dc3b1e9..9ba2d83 100644
--- a/src/controllers/fish.moon
+++ b/src/controllers/fish.moon
@@ -2,16 +2,12 @@ ecs = require("ecs")
world = require("world")
controller = {}
-
-
-
class FishControllerComponent extends ecs.Component
new: () =>
--print("Fish controller started")
@node = am.group!
join: (entity) =>
super(entity)
- @ent = entity
graphic = entity\get("graphic")
assert(graphic, "Fish controller must have a graphic")
pred_component = entity\get("pred")
@@ -31,7 +27,7 @@ class FishControllerComponent extends ecs.Component
while comp.state == "swimming"
comp.state = "waiting"
start_wait = world.sync_time!
- while world.sync_time! - start_wait < 8
+ while world.sync_time! - start_wait < 4
--TODO: look for nearby hooks and get caught
coroutine.yield!
if comp.state == "waiting"
@@ -45,33 +41,12 @@ class FishControllerComponent extends ecs.Component
pick_next_location: () =>
-- Pick somewhere to swim based on where we are?
-- This can only be done on the host.
- --TODO: spawn fish on all sides.
- -- everything has to be floats so math.random returns a float.
if @net.properties.pos.x > 10 -- pick somewhere to the right
@net.properties.next_loc = vec2(
- math.random(11.1,15),
- math.random(-10.1,10)
- )
- elseif @net.properties.pos.x < -10
- @net.properties.next_loc = vec2(
- math.random(-15.1,-11)
- math.random(-10.1,10)
+ math.random(10.3,12),
+ math.random(-10,10)
)
- elseif @net.properties.pos.y > 10
- @net.properties.next_loc = vec2(
- math.random(-10.1,10)
- math.random(11.1,15)
- )
- elseif @net.properties.pos.y < -10
- @net.properties.next_loc = vec2(
- math.random(-10.1,10)
- math.random(-15.1,-11)
- )
- else
- --If none of these apply, we're stuck on land somehow, delete ourselves
- @entity\destroy!
-
- @net.properties.next_loc_time = world.sync_time!
+ @net.properties.next_loc_time = world.sync_time!
--@net.properties.next_loc = @net.properties.pos + vec2(0,1)
--@net.properties.next_loc_time = world.sync_time!
--print("Picking next location, it was ", @net.properties.next_loc)