pub struct SettingsEvent<Channel: ACBounds> { /* private fields */ }
Expand description
An event for changing the settings of a channel
Including track specific settings
§Example
use bevy_audio_controller::prelude::*;
fn main() {
App::new()
.add_plugins(AudioControllerPlugin)
.add_systems(Startup, setup)
.run();
}
fn setup(mut ew: EventWriter<SettingsEvent<SfxChannel>>) {
// Set the volume for the channel
let vol_event = SfxChannel::settings_event().with_volume(0.5);
// Set the default playback settings for the channel
let default_settings_event =
SfxChannel::settings_event().with_settings(PlaybackSettings::DESPAWN);
// Sets (and overwrites!) the playback settings for all tracks in your assets folder for the channel
let all_track_settings_event = SfxChannel::settings_event()
.with_settings(PlaybackSettings::REMOVE)
.all();
// Set the playback settings for a specific track in the channel
let track_settings_event = SfxChannel::settings_event()
.with_settings(PlaybackSettings::LOOP)
.with_track(AudioFiles::BackgroundOGG);
ew.send_batch(vec![
vol_event,
default_settings_event,
all_track_settings_event,
track_settings_event,
]);
}
Implementations§
Source§impl<Channel: ACBounds> SettingsEvent<Channel>
impl<Channel: ACBounds> SettingsEvent<Channel>
pub fn new() -> Self
Sourcepub fn with_volume(self, volume: Volume) -> Self
pub fn with_volume(self, volume: Volume) -> Self
Sets the volume for the channel
Sourcepub fn with_settings(self, settings: PlaybackSettings) -> Self
pub fn with_settings(self, settings: PlaybackSettings) -> Self
When called on its own without with_track
or all
, this sets the default PlaybackSettings for the channel
Sourcepub fn with_delay_mode(self, delay_mode: DelayMode) -> Self
pub fn with_delay_mode(self, delay_mode: DelayMode) -> Self
When called on its own without with_track
or all
, this sets the default DelayMode for the channel
Sourcepub fn with_track(self, id: AudioFiles) -> Self
pub fn with_track(self, id: AudioFiles) -> Self
Instead applies the specified setting or delay_mode to a specific track
Trait Implementations§
Source§impl<Channel: ACBounds> Event for SettingsEvent<Channel>
impl<Channel: ACBounds> Event for SettingsEvent<Channel>
Source§const AUTO_PROPAGATE: bool = false
const AUTO_PROPAGATE: bool = false
When true, this event will always attempt to propagate when triggered, without requiring a call
to
Trigger::propagate
.Source§type Traversal = ()
type Traversal = ()
The component that describes which Entity to propagate this event to next, when propagation is enabled.
Source§fn register_component_id(world: &mut World) -> ComponentId
fn register_component_id(world: &mut World) -> ComponentId
Generates the
ComponentId
for this event type. Read moreSource§fn component_id(world: &World) -> Option<ComponentId>
fn component_id(world: &World) -> Option<ComponentId>
Fetches the
ComponentId
for this event type,
if it has already been generated. Read moreAuto Trait Implementations§
impl<Channel> Freeze for SettingsEvent<Channel>
impl<Channel> RefUnwindSafe for SettingsEvent<Channel>where
Channel: RefUnwindSafe,
impl<Channel> Send for SettingsEvent<Channel>
impl<Channel> Sync for SettingsEvent<Channel>
impl<Channel> Unpin for SettingsEvent<Channel>where
Channel: Unpin,
impl<Channel> UnwindSafe for SettingsEvent<Channel>where
Channel: UnwindSafe,
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>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn 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>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which 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)
Converts
&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)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more