ScriptingPlugin

Struct ScriptingPlugin 

Source
pub struct ScriptingPlugin<P: IntoScriptPluginParams> {
    pub runtime_initializers: Vec<RuntimeInitializer<P>>,
    pub context_policy: ContextPolicy,
    pub language: Language,
    pub supported_extensions: Vec<&'static str>,
    pub context_initializers: Vec<ContextInitializer<P>>,
    pub context_pre_handling_initializers: Vec<ContextPreHandlingInitializer<P>>,
    pub emit_responses: bool,
    pub processing_pipeline_plugin: ScriptLoadingPipeline<P>,
}
Expand description

Bevy plugin enabling scripting within the bevy mod scripting framework

Fields§

§runtime_initializers: Vec<RuntimeInitializer<P>>

Functions configuring the runtime after it is created

§context_policy: ContextPolicy

The strategy used to assign contexts to scripts

§language: Language

The language this plugin declares

§supported_extensions: Vec<&'static str>

Declares the file extensions this plugin supports

§context_initializers: Vec<ContextInitializer<P>>

initializers for the contexts, run when loading the script

§context_pre_handling_initializers: Vec<ContextPreHandlingInitializer<P>>

initializers for the contexts run every time before handling events

§emit_responses: bool

Whether to emit responses from core script callbacks like on_script_loaded or on_script_unloaded.

§processing_pipeline_plugin: ScriptLoadingPipeline<P>

The settings customising the processing (loading, unloading etc.) pipeline for this plugin

Implementations§

Source§

impl<P: IntoScriptPluginParams> ScriptingPlugin<P>

Source

pub fn add_context_initializer( &mut self, initializer: ContextInitializer<P>, ) -> &mut Self

Adds a context initializer to the plugin

Initializers will be run every time a context is loaded or re-loaded and before any events are handled

Source

pub fn add_context_pre_handling_initializer( &mut self, initializer: ContextPreHandlingInitializer<P>, ) -> &mut Self

Adds a context pre-handling initializer to the plugin.

Initializers will be run every time before handling events and after the context is loaded or re-loaded.

Source

pub fn add_runtime_initializer( &mut self, initializer: RuntimeInitializer<P>, ) -> &mut Self

Adds a runtime initializer to the plugin.

Initializers will be run after the runtime is created, but before any contexts are loaded.

Source

pub fn set_pipeline_settings( &mut self, pipeline: ScriptLoadingPipeline<P>, ) -> &mut Self

Sets the script pipeline settings plugin

Trait Implementations§

Source§

impl<P> Debug for ScriptingPlugin<P>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<P: IntoScriptPluginParams> Default for ScriptingPlugin<P>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<P: IntoScriptPluginParams> Plugin for ScriptingPlugin<P>

Source§

fn build(&self, app: &mut App)

Configures the App to which this plugin is added.
Source§

fn ready(&self, _app: &App) -> bool

Has the plugin finished its setup? This can be useful for plugins that need something asynchronous to happen before they can finish their setup, like the initialization of a renderer. Once the plugin is ready, finish should be called.
Source§

fn finish(&self, _app: &mut App)

Finish adding this plugin to the App, once all plugins registered are ready. This can be useful for plugins that depends on another plugin asynchronous setup, like the renderer.
Source§

fn cleanup(&self, _app: &mut App)

Runs after all plugins are built and finished, but before the app schedule is executed. This can be useful if you have some resource that other plugins need during their build step, but after build you want to remove it and send it to another thread.
Source§

fn name(&self) -> &str

Configures a name for the Plugin which is primarily used for checking plugin uniqueness and debugging.
Source§

fn is_unique(&self) -> bool

If the plugin can be meaningfully instantiated several times in an App, override this method to return false.

Auto Trait Implementations§

§

impl<P> Freeze for ScriptingPlugin<P>

§

impl<P> !RefUnwindSafe for ScriptingPlugin<P>

§

impl<P> Send for ScriptingPlugin<P>

§

impl<P> Sync for ScriptingPlugin<P>

§

impl<P> Unpin for ScriptingPlugin<P>

§

impl<P> !UnwindSafe for ScriptingPlugin<P>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromWorld for T
where T: Default,

Source§

fn from_world(_world: &mut World) -> T

Creates Self using default().

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> IntoNamespace for T
where T: 'static + ?Sized,

Source§

fn into_namespace() -> Namespace

Converts this type into a Namespace
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ConditionalSend for T
where T: Send,

Source§

impl<Marker, T> Plugins<Marker> for T
where T: Plugins<Marker>,

Source§

impl<T> Runtime for T
where T: Default + 'static + Send + Sync,

Source§

impl<T> Settings for T
where T: 'static + Send + Sync,