tinygame_core/core/
plugins.rs1use crate::{AppResult, core::world::World};
2
3pub struct PluginMeta {
4 pub name: &'static str,
5 pub depends_on: &'static [&'static str],
6}
7
8pub trait Plugin {
9 fn get_meta() -> PluginMeta;
10 fn init(_world: &mut World) -> AppResult {
11 AppResult::Continue
12 }
13 fn step(_world: &World) -> AppResult {
14 AppResult::Continue
15 }
16 fn pre_step(_world: &World) -> AppResult {
17 AppResult::Continue
18 }
19 fn post_step(_world: &World) -> AppResult {
20 AppResult::Continue
21 }
22 fn exit(_world: &World) -> () {
23 ()
24 }
25}