veloren/server/src/presence.rs

30 lines
787 B
Rust
Raw Normal View History

use hashbrown::HashSet;
use serde::{Deserialize, Serialize};
use specs::{Component, VecStorage};
use vek::*;
// Distance from fuzzy_chunk before snapping to current chunk
pub const CHUNK_FUZZ: u32 = 2;
// Distance out of the range of a region before removing it from subscriptions
pub const REGION_FUZZ: u32 = 16;
#[derive(Clone, Debug)]
pub struct RegionSubscription {
pub fuzzy_chunk: Vec2<i32>,
2022-08-22 03:21:39 +00:00
pub last_entity_view_distance: u32,
pub regions: HashSet<Vec2<i32>>,
}
impl Component for RegionSubscription {
2022-08-22 03:21:39 +00:00
type Storage = specs::DenseVecStorage<Self>;
}
2021-07-16 21:33:31 +00:00
#[derive(Copy, Clone, Debug, Default, Serialize, Deserialize)]
pub struct RepositionOnChunkLoad {
pub needs_ground: bool,
}
2021-07-16 21:33:31 +00:00
impl Component for RepositionOnChunkLoad {
type Storage = VecStorage<Self>;
2021-07-16 21:33:31 +00:00
}