pub struct WaveManager {
pub flags: HashMap<String, bool>,
pub player_pos: Vec3,
pub blueprints: BlueprintLibrary,
pub finished: bool,
pub wave_count: u32,
/* private fields */
}Expand description
Manages a sequence of spawn waves.
Fields§
§flags: HashMap<String, bool>§player_pos: Vec3§blueprints: BlueprintLibraryLibrary of blueprints.
finished: bool§wave_count: u32Implementations§
Source§impl WaveManager
impl WaveManager
pub fn new(waves: Vec<SpawnWave>, blueprints: BlueprintLibrary) -> Self
pub fn start(&mut self)
Sourcepub fn on_entity_killed(&mut self, tag: &str)
pub fn on_entity_killed(&mut self, tag: &str)
Notify the manager that an entity with tag was killed.
Sourcepub fn tick(&mut self, dt: f32) -> Vec<SpawnEvent>
pub fn tick(&mut self, dt: f32) -> Vec<SpawnEvent>
Advance the spawn system by dt. Returns spawned entities this tick.
pub fn current_wave_name(&self) -> &str
pub fn total_waves(&self) -> usize
pub fn is_active(&self) -> bool
pub fn get_flag(&self, k: &str) -> bool
Auto Trait Implementations§
impl Freeze for WaveManager
impl RefUnwindSafe for WaveManager
impl Send for WaveManager
impl Sync for WaveManager
impl Unpin for WaveManager
impl UnsafeUnpin for WaveManager
impl UnwindSafe for WaveManager
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
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.