rust 无法在bevy 0.10.1中订购启动系统

svmlkihl  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(75)

我正在试用最新版本的Bevy。
如何在函数2中访问MyRessource?
我希望在系统元组上使用.chain()可以执行一个又一个系统。

use bevy::prelude::*;

#[derive(Resource)]
struct MyResource(
    f32
);

fn main() {
    App::new()
        .add_startup_systems(
            (one, between, two).chain()
        )

        .run()
}

fn one(mut commands: Commands) {
    info!("before | inserting Resource ...");
    commands.insert_resource(MyResource(6.9));
}

fn between() {
    info!("between");
}

fn two(_my_resource: Res<MyResource>) {
    info!("after | managed to receive resource");
}

字符串
我试图命令3启动系统一个接一个地加载在不同系统中创建的资源。

lymnna71

lymnna711#

Bevy Discord服务器能够帮助我。我必须在两个系统之间插入一个同花:

.add_startup_system(two.in_base_set(StartupSet::PostStartup))

字符串
我正确的脚本应该是这样的:

use bevy::prelude::*;

#[derive(Resource)]
struct MyResource(
    f32
);

fn main() {
    App::new()
        .add_startup_system(one)
        .add_startup_system(between)
        .add_startup_system(two.in_base_set(StartupSet::PostStartup))

        .run()
}

fn one(mut commands: Commands) {
    info!("before | inserting Resource ...");
    commands.insert_resource(MyResource(6.9));
}

fn between() {
    info!("between");
}

fn two(_my_resource: Res<MyResource>) {
    info!("after | managed to receive resource");
}

相关问题