oxide_engine_api/object.rs
1use slotmap::DefaultKey;
2
3// === ТРЕЙТ ОБЪЕКТА ===
4pub trait Object {
5 /// Получить ID объекта
6 fn get_id(&self) -> DefaultKey;
7
8 /// Получить имя объекта
9 fn get_name(&self) -> &str;
10
11 /// Добавить дочерний объект
12 fn add_child(&self, object_name: String, script_path: Option<std::path::PathBuf>) -> Option<&dyn Object>;
13
14 /// Найти дочерний объект по имени
15 fn find_child(&self, name: &str) -> Option<&dyn Object>;
16
17 /// Получить родительский объект
18 fn get_parent(&self) -> Option<&dyn Object>;
19
20 /// Получить список дочерних объектов
21 fn get_children(&self) -> Vec<&dyn Object>;
22}