pub enum Apps {
Client {
app: App,
config: ClientConfig,
},
Server {
app: App,
config: ServerConfig,
},
ClientAndServer {
client_app: App,
client_config: ClientConfig,
server_app: App,
server_config: ServerConfig,
},
HostServer {
app: App,
client_config: ClientConfig,
server_config: ServerConfig,
},
}
Expand description
Apps that will be returned from the build_apps
function
The configs are also included so that the user can modify them if needed, before running the app.
Variants§
Client
A single app that contains only the ClientPlugins
Server
A single app that contains only the ServerPlugins
ClientAndServer
Two apps (Client and Server) that will run in separate threads
HostServer
A single app that contains both the Client and Server plugins
Implementations§
Source§impl Apps
impl Apps
Sourcepub fn new(settings: Settings, cli: Cli, name: String) -> Self
pub fn new(settings: Settings, cli: Cli, name: String) -> Self
Build the apps with the given settings and CLI options.
Sourcepub fn add_lightyear_plugins(&mut self) -> &mut Self
pub fn add_lightyear_plugins(&mut self) -> &mut Self
Add the lightyear [ClientPlugins
] and [ServerPlugins
] plugin groups to the app.
This can be called after any modifications to the ClientConfig
and ServerConfig
have been applied.
Sourcepub fn add_user_client_plugin(
&mut self,
client_plugin: impl Plugin,
) -> &mut Self
pub fn add_user_client_plugin( &mut self, client_plugin: impl Plugin, ) -> &mut Self
Adds plugin to the client app
Sourcepub fn add_user_server_plugin(
&mut self,
server_plugin: impl Plugin,
) -> &mut Self
pub fn add_user_server_plugin( &mut self, server_plugin: impl Plugin, ) -> &mut Self
Adds plugin to the server app
Adds plugin to both the server and client apps, if present
Sourcepub fn add_user_renderer_plugin(
&mut self,
renderer_plugin: impl Plugin,
) -> &mut Self
pub fn add_user_renderer_plugin( &mut self, renderer_plugin: impl Plugin, ) -> &mut Self
Adds to the client app, and the server app if in standalone server mode with the cargo “gui” feature. Won’t add renderer to server app if a client app also present.
Sourcepub fn update_lightyear_client_config(
&mut self,
f: impl FnOnce(&mut ClientConfig),
) -> &mut Self
pub fn update_lightyear_client_config( &mut self, f: impl FnOnce(&mut ClientConfig), ) -> &mut Self
Apply a function to update the ClientConfig
Sourcepub fn update_lightyear_server_config(
&mut self,
f: impl FnOnce(&mut ServerConfig),
) -> &mut Self
pub fn update_lightyear_server_config( &mut self, f: impl FnOnce(&mut ServerConfig), ) -> &mut Self
Apply a function to update the ServerConfig
Auto Trait Implementations§
impl !Freeze for Apps
impl !RefUnwindSafe for Apps
impl !Send for Apps
impl !Sync for Apps
impl Unpin for Apps
impl !UnwindSafe for Apps
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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>
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>
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)
&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)
&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> 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>
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>
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