pub trait ExplorationMap {
type Node: Debug + Clone;
type Edge: Debug + Clone;
type Update;
type Result;
// Required methods
fn apply(&mut self, update: Self::Update) -> Self::Result;
fn get(&self, id: MapNodeId) -> Option<&Self::Node>;
fn get_mut(&mut self, id: MapNodeId) -> Option<&mut Self::Node>;
fn node_count(&self) -> usize;
fn frontiers(&self) -> Vec<MapNodeId>;
// Provided method
fn apply_batch(&mut self, updates: Vec<Self::Update>) -> Vec<Self::Result> { ... }
}Expand description
Required Associated Types§
Required Methods§
Sourcefn apply(&mut self, update: Self::Update) -> Self::Result
fn apply(&mut self, update: Self::Update) -> Self::Result
更新を適用する(Tick の中心 API)
毎 Tick でこのメソッドを呼び、マップ状態を更新する。 更新は確定的に処理され、結果が返される。
Sourcefn node_count(&self) -> usize
fn node_count(&self) -> usize
ノード数