Skip to content
This repository was archived by the owner on Jul 1, 2024. It is now read-only.
This repository was archived by the owner on Jul 1, 2024. It is now read-only.

ensure there is a line of sight #114

@github-actions

Description

@github-actions

ensure there is a line of sight

loop {

sleep_ticks(&mut server_msg_rcvr, 1).await;

let chunk = self_position.chunk_column();

let player_positions = h.world.observe_entities(chunk, |entity| {

let network_entity = entity.to_network().unwrap();

TryAsEntityRef::<Player>::try_as_entity_ref(entity).map(|player| {

(player.get_entity().position.clone(), network_entity)

})

}).await;

let target_object = CollisionShape {

x1: target_position.x - network_entity.width() as f64 / 2.0,

y1: target_position.y,

z1: target_position.z - network_entity.width() as f64 / 2.0,

x2: target_position.x + network_entity.width() as f64 / 2.0,

y2: target_position.y + network_entity.height() as f64,

z2: target_position.z + network_entity.width() as f64 / 2.0,

};

let mut translation = Translation {

x: target_position.x - self_position.x,

y: target_position.y - self_position.y,

z: target_position.z - self_position.z,

};

translation.set_norm(ZOMBIE_SPEED);

e.get_entity_mut().position += authorized_translation;

(e.get_entity().position.clone(), EntityChanges::position())

}).await;

self_position = match new_pos {

Some(pos) => pos,

None => break,

};

// TODO: ensure there is a line of sight

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions