pub struct BossPhaseController { /* private fields */ }Expand description
Controls phase transitions based on HP thresholds.
Implementations§
Source§impl BossPhaseController
impl BossPhaseController
pub fn new(phases: Vec<BossPhase>) -> Self
Sourcepub fn current_phase(&self) -> Option<&BossPhase>
pub fn current_phase(&self) -> Option<&BossPhase>
Current active phase.
Sourcepub fn current_phase_number(&self) -> u32
pub fn current_phase_number(&self) -> u32
Current phase number (1-based).
Sourcepub fn check_transition(&mut self, hp_fraction: f32) -> Option<&BossPhase>
pub fn check_transition(&mut self, hp_fraction: f32) -> Option<&BossPhase>
Check HP fraction and potentially trigger a phase transition.
Returns Some(BossPhase) if a new phase was entered.
Sourcepub fn update_transition(&mut self, dt: f32) -> bool
pub fn update_transition(&mut self, dt: f32) -> bool
Update transition animation timer. Returns true if transition just completed.
Sourcepub fn is_transitioning(&self) -> bool
pub fn is_transitioning(&self) -> bool
Whether a transition is in progress.
Sourcepub fn transition_progress(&self) -> f32
pub fn transition_progress(&self) -> f32
Transition progress [0, 1].
Sourcepub fn phase_count(&self) -> usize
pub fn phase_count(&self) -> usize
Total number of phases.
Sourcepub fn speed_mult(&self) -> f32
pub fn speed_mult(&self) -> f32
Get the speed multiplier for the current phase.
Sourcepub fn damage_mult(&self) -> f32
pub fn damage_mult(&self) -> f32
Get the damage multiplier for the current phase.
Trait Implementations§
Source§impl Clone for BossPhaseController
impl Clone for BossPhaseController
Source§fn clone(&self) -> BossPhaseController
fn clone(&self) -> BossPhaseController
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BossPhaseController
impl RefUnwindSafe for BossPhaseController
impl Send for BossPhaseController
impl Sync for BossPhaseController
impl Unpin for BossPhaseController
impl UnsafeUnpin for BossPhaseController
impl UnwindSafe for BossPhaseController
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.