auto_system

Attribute Macro auto_system 

Source
#[auto_system]
Expand description

Automatically adds the fn as a system for bevy app. (See below for additional options) Automatically registers a system to be added to the app.

§Parameters

§Example

use bevy::prelude::*;
use bevy_auto_plugin::prelude::*;

#[derive(AutoPlugin)]
#[auto_plugin(impl_plugin_trait)]
struct MyPlugin;

#[derive(Resource, Debug, Default)]
struct FooResource(usize);

#[auto_system(plugin = MyPlugin, schedule = Update)]
fn foo_system(mut foo_res: ResMut<FooResource>) {
    foo_res.0 += 1;
}

§Example (with system set)

use bevy::prelude::*;
use bevy_auto_plugin::prelude::*;

#[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)]
enum TestSet { First, Second }

#[derive(AutoPlugin)]
#[auto_plugin(impl_plugin_trait)]
struct MyPlugin;

#[derive(Resource, Debug, Default)]
struct FooResource(usize);

#[auto_system(plugin = MyPlugin, schedule = Update, config(in_set = TestSet::First))]
fn foo_system(mut foo_res: ResMut<FooResource>) {
    foo_res.0 += 1;
}