//! Implements a map graph and world logic use crate::data::{Node, Link}; use std::collections::BTreeMap; use async_std::sync::Arc; /// A map that people fight on /// /// A map is defined by it's graph relationships, but also where on /// the map nodes are placed, how much spacing there is, etc. All /// this information is encoded in the same structs because it's /// static, and just more convenient. pub struct Map { /// Node IDs mapped to node objects nodes: BTreeMap>, /// Link IDs mapped to link objects links: BTreeMap>, }