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