Rust Bevy Systemについて
はじめに
本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。
メモ
BevyにおいてSystemとはゲームロジックを含む関数
である。
Systemは以下の特別な引数のみを持つ。
- Resourceにアクセスするための
Res
/ResMut
- Componentにアクセスするための
Query
- EntityやComponent、Resourceを生成、削除するための
Command
- Eventを送受信するための
EventWriter
/EventReader
fn debug_start( // Resourceにアクセスする start: Res<StartingLevel> ) { eprintln!("Starting on level {:?}", *start); }
Systemを実行するためには、App Builder
でBevyにSystemを登録する必要がある。
fn main() { App::build() // ... // 起動時に1回のみ実行 .add_startup_system(init_menu.system()) .add_startup_system(debug_start.system()) // フレーム毎に実行 .add_system(move_player.system()) .add_system(enemies_ai.system()) // ... .run(); }