pub struct CutsceneScript { /* private fields */ }Expand description
Fluent builder for Timeline. Maintains an implicit cursor time.
§Usage
let tl = CutsceneScript::new("my_scene")
.fade_in(1.0)
.wait(0.5)
.say("Hero", "Time to fight!")
.camera_shake(0.3, 0.6, 20.0)
.wait(1.0)
.fade_out(1.0)
.build();Implementations§
Source§impl CutsceneScript
impl CutsceneScript
pub fn new(name: impl Into<String>) -> Self
Sourcepub fn label(self, name: impl Into<String>) -> Self
pub fn label(self, name: impl Into<String>) -> Self
Add a label at the current cursor position without advancing.
pub fn fade_in(self, duration: f32) -> Self
pub fn fade_out(self, duration: f32) -> Self
pub fn fade_to(self, color: [f32; 4], duration: f32) -> Self
pub fn flash(self, color: [f32; 4], duration: f32, intensity: f32) -> Self
pub fn bloom(self, enabled: bool, intensity: f32, duration: f32) -> Self
pub fn chromatic_aberration(self, amount: f32, duration: f32) -> Self
pub fn film_grain(self, amount: f32) -> Self
pub fn vignette(self, radius: f32, softness: f32, intensity: f32) -> Self
pub fn camera_move(self, target: Vec3, duration: f32) -> Self
pub fn camera_look_at(self, target: Vec3, duration: f32) -> Self
pub fn camera_shake(self, intensity: f32, duration: f32, frequency: f32) -> Self
pub fn camera_zoom(self, zoom: f32, duration: f32) -> Self
pub fn spawn(self, blueprint: impl Into<String>, position: Vec3) -> Self
pub fn spawn_tagged( self, blueprint: impl Into<String>, position: Vec3, tag: impl Into<String>, ) -> Self
pub fn despawn_tag(self, tag: impl Into<String>) -> Self
pub fn play_sfx(self, name: impl Into<String>, volume: f32) -> Self
pub fn play_sfx_at( self, name: impl Into<String>, volume: f32, position: Vec3, ) -> Self
pub fn music_vibe(self, vibe: impl Into<String>) -> Self
pub fn master_volume(self, volume: f32, duration: f32) -> Self
Sourcepub fn say(
self,
speaker: impl Into<String>,
text: impl Into<String>,
duration: f32,
) -> Self
pub fn say( self, speaker: impl Into<String>, text: impl Into<String>, duration: f32, ) -> Self
Say a line of dialogue and advance cursor by duration.
Sourcepub fn say_async(
self,
speaker: impl Into<String>,
text: impl Into<String>,
) -> Self
pub fn say_async( self, speaker: impl Into<String>, text: impl Into<String>, ) -> Self
Say a line without advancing cursor (fire-and-forget).
pub fn title_card( self, text: impl Into<String>, subtitle: impl Into<String>, duration: f32, ) -> Self
pub fn notify(self, text: impl Into<String>, duration: f32) -> Self
pub fn hide_dialogue(self) -> Self
pub fn set_flag(self, name: impl Into<String>, value: bool) -> Self
pub fn callback(self, name: impl Into<String>) -> Self
pub fn callback_with_args( self, name: impl Into<String>, args: HashMap<String, String>, ) -> Self
Sourcepub fn parallel(self, actions: Vec<TimelineAction>) -> Self
pub fn parallel(self, actions: Vec<TimelineAction>) -> Self
Run multiple actions at the same cursor time.
pub fn set_looping(self) -> Self
pub fn set_speed(self, s: f32) -> Self
Auto Trait Implementations§
impl Freeze for CutsceneScript
impl RefUnwindSafe for CutsceneScript
impl Send for CutsceneScript
impl Sync for CutsceneScript
impl Unpin for CutsceneScript
impl UnsafeUnpin for CutsceneScript
impl UnwindSafe for CutsceneScript
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.