pub struct InfluenceMap {
pub width: usize,
pub height: usize,
pub cell_size: f32,
pub origin: Vec2,
pub friendly_influence: Vec<f32>,
pub enemy_influence: Vec<f32>,
pub danger_map: Vec<f32>,
pub opportunity_map: Vec<f32>,
pub decay: f32,
pub propagation_iterations: usize,
}Fields§
§width: usize§height: usize§cell_size: f32§origin: Vec2§friendly_influence: Vec<f32>§enemy_influence: Vec<f32>§danger_map: Vec<f32>§opportunity_map: Vec<f32>§decay: f32§propagation_iterations: usizeImplementations§
Source§impl InfluenceMap
impl InfluenceMap
pub fn new(width: usize, height: usize, cell_size: f32, origin: Vec2) -> Self
pub fn cell_of(&self, pos: Vec2) -> (i32, i32)
pub fn stamp_influence( &mut self, pos: Vec2, value: f32, radius: f32, friendly: bool, )
pub fn propagate(&mut self)
pub fn decay_all(&mut self, dt: f32)
pub fn get_tension(&self, pos: Vec2) -> f32
pub fn get_vulnerability(&self, pos: Vec2) -> f32
pub fn find_safest_direction(&self, pos: Vec2) -> Vec2
pub fn find_most_opportune_position( &self, center: Vec2, search_radius: f32, ) -> Option<Vec2>
Auto Trait Implementations§
impl Freeze for InfluenceMap
impl RefUnwindSafe for InfluenceMap
impl Send for InfluenceMap
impl Sync for InfluenceMap
impl Unpin for InfluenceMap
impl UnsafeUnpin for InfluenceMap
impl UnwindSafe for InfluenceMap
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.