pub struct AgentCache {
pub unzoomed_agents: UnzoomedAgents,
time: Option<Time>,
agents_per_on: HashMap<Traversable, Vec<Box<dyn GameRenderable>>>,
unzoomed: Option<(Time, UnzoomedAgents, QuadTree<AgentID>, Drawable)>,
}Fields§
§unzoomed_agents: UnzoomedAgentsThis is controlled almost entirely by the minimap panel. It has no meaning in edit mode.
time: Option<Time>§agents_per_on: HashMap<Traversable, Vec<Box<dyn GameRenderable>>>§unzoomed: Option<(Time, UnzoomedAgents, QuadTree<AgentID>, Drawable)>Implementations§
Source§impl AgentCache
impl AgentCache
pub fn new() -> AgentCache
pub fn get(&self, on: Traversable) -> Vec<&dyn GameRenderable>
pub fn populate_if_needed( &mut self, on: Traversable, map: &Map, sim: &Sim, cs: &ColorScheme, prerender: &Prerender, )
Sourcepub fn calculate_unzoomed_agents<P: AsRef<Prerender>>(
&mut self,
prerender: &mut P,
map: &Map,
sim: &Sim,
cs: &ColorScheme,
) -> &QuadTree<AgentID>
pub fn calculate_unzoomed_agents<P: AsRef<Prerender>>( &mut self, prerender: &mut P, map: &Map, sim: &Sim, cs: &ColorScheme, ) -> &QuadTree<AgentID>
If the sim time has changed or the unzoomed agent filters have been modified, recalculate the quadtree and drawable for all unzoomed agents.
pub fn draw_unzoomed_agents( &mut self, g: &mut GfxCtx<'_>, map: &Map, sim: &Sim, cs: &ColorScheme, opts: &Options, )
Auto Trait Implementations§
impl Freeze for AgentCache
impl !RefUnwindSafe for AgentCache
impl !Send for AgentCache
impl !Sync for AgentCache
impl Unpin for AgentCache
impl !UnwindSafe for AgentCache
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.