I want to store a system in a component and then run it from an exclusive system. Something like this:
#[derive(Component)]
struct Action(BoxedSystem);
fn perform_actions(world: &mut World) {
// ... get the component ...
action.0.run((), world);
}
Is this OK? Is it valid to just call run like that? Do I need to do something special to prepare or initialize the system first?