oxide_engine_api/
lib.rs

1use std::path::PathBuf;
2/// Уникальный идентификатор объекта в сцене.
3/// Гарантированно уникален в пределах одного запуска движка.
4pub type EntityId = u64;
5
6pub trait WorldContext {
7    fn log(&self, msg: &str);
8
9    //ObjectRegistry
10    fn create_root(&self, name: String, script_path: Option<PathBuf>) -> EntityId;
11    fn create_child(&self, name: String, script_path: Option<PathBuf>, parent: EntityId) -> Option<EntityId>;
12    
13}
14
15pub trait Script: Send {
16    fn init(&mut self, ctx: &dyn WorldContext);
17    fn update(&mut self, ctx: &dyn WorldContext, delta: f32);
18}