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}