- bool line_of_sight = true;
- Ray aim{Target().Position() - diff, norm_diff};
- WorldCollision coll;
- if (world.Intersection(aim, glm::mat4(1.0f), Target().ChunkCoords(), coll)) {
- line_of_sight = coll.depth > dist;
+void AIController::Update(Entity &e, float dt) {
+ // movement: for now, wander only
+ glm::vec3 displacement(
+ random.SNorm() * wander_disp,
+ random.SNorm() * wander_disp,
+ random.SNorm() * wander_disp
+ );
+ if (dot(displacement, displacement) > std::numeric_limits<float>::epsilon()) {
+ wander_pos = normalize(wander_pos + displacement * dt) * wander_radius;