pub enum AnvilKitSchedule {
Startup,
Main,
PreUpdate,
Update,
PostUpdate,
Cleanup,
}Expand description
AnvilKit 调度标签
定义了 AnvilKit 中使用的标准调度阶段。
§调度顺序
Startup- 应用启动时执行一次Main- 主循环调度器(包含以下子阶段)PreUpdate- 更新前准备Update- 主要更新逻辑PostUpdate- 更新后处理Cleanup- 帧结束清理
§示例
use anvilkit_ecs::prelude::*;
use anvilkit_ecs::schedule::AnvilKitSchedule;
fn my_startup_system() {
println!("应用启动");
}
fn my_update_system() {
println!("每帧更新");
}
let mut app = App::new();
app.add_systems(AnvilKitSchedule::Startup, my_startup_system)
.add_systems(AnvilKitSchedule::Update, my_update_system);Variants§
Startup
应用启动时执行一次的系统
用于初始化资源、设置场景、加载配置等一次性操作。
Main
主循环调度器
包含所有每帧执行的系统调度。
PreUpdate
主更新前的准备阶段
用于输入处理、时间更新、状态准备等。
Update
主要的游戏逻辑更新
包含游戏的核心逻辑,如移动、碰撞检测、AI 等。
PostUpdate
主更新后的处理阶段
用于变换传播、渲染准备、物理同步等。
Cleanup
帧结束时的清理工作
用于清理临时数据、垃圾回收、统计信息更新等。
Trait Implementations§
Source§impl Clone for AnvilKitSchedule
impl Clone for AnvilKitSchedule
Source§fn clone(&self) -> AnvilKitSchedule
fn clone(&self) -> AnvilKitSchedule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AnvilKitSchedule
impl Debug for AnvilKitSchedule
Source§impl Hash for AnvilKitSchedule
impl Hash for AnvilKitSchedule
Source§impl PartialEq for AnvilKitSchedule
impl PartialEq for AnvilKitSchedule
Source§impl ScheduleLabel for AnvilKitSchedule
impl ScheduleLabel for AnvilKitSchedule
impl Copy for AnvilKitSchedule
impl Eq for AnvilKitSchedule
impl StructuralPartialEq for AnvilKitSchedule
Auto Trait Implementations§
impl Freeze for AnvilKitSchedule
impl RefUnwindSafe for AnvilKitSchedule
impl Send for AnvilKitSchedule
impl Sync for AnvilKitSchedule
impl Unpin for AnvilKitSchedule
impl UnsafeUnpin for AnvilKitSchedule
impl UnwindSafe for AnvilKitSchedule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.