Skip to main content

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}