I'm trying to move a plugin I made out of my project and into it's own project, and all the code works in the seperate project, but not in this one?
I get this error:
error[E0277]: the trait bound `EasyConfigPlugin<Settings>: Plugins<_>` is not satisfied
|
| ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `bevy::bevy_app::plugin::sealed::Plugins<_>` is not implemented for `EasyConfigPlugin<Settings>`, which is required by `EasyConfigPlugin<Settings>: Plugins<_>`
| |
| required by a bound introduced by this call
|
= note: required for `EasyConfigPlugin<Settings>` to implement `Plugins<_>`
note: required by a bound in `bevy::prelude::App::add_plugins`
--> C:\Users\Ph03n\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_app-0.14.1\src\app.rs:543:52
|
543 | pub fn add_plugins<M>(&mut self, plugins: impl Plugins<M>) -> &mut Self {
| ^^^^^^^^^^ required by this bound in `App::add_plugins`
This is where Plugin is implemented:
impl<A> Plugin for EasyConfigPlugin<A>
where
for<'de> A: serde::Deserialize<'de> + Asset + Resource + Clone + Default,
{
fn build(&self, app: &mut App) {
app
.init_asset::<A>()
.register_asset_loader(ConfigFileAssetLoader::<A> {
_marker: PhantomData
})
.insert_resource(ConfigFileHolder::<A> {
path: self.path,
handle: None,
_marker: PhantomData
})
.init_resource::<A>()
.add_systems(Startup, add_asset_to_resource::<A>)
.add_systems(Update, update_resource::<A>);
}
}