pub trait ObjectRegistry {
// Required methods
fn create_child(
&self,
object_name: String,
script_path: Option<PathBuf>,
parent_object: Option<&dyn Object>,
) -> Option<&dyn Object>;
fn remove(&self, object: &dyn Object) -> bool;
fn set_script(&self, object: &dyn Object, script_path: PathBuf) -> bool;
fn remove_script(&self, object: &dyn Object) -> bool;
fn move_to_parent(
&self,
child_object: &dyn Object,
new_parent: &dyn Object,
) -> bool;
fn get(&self, object_path: &str) -> Option<&dyn Object>;
fn add_component(
&self,
object: &dyn Object,
component: Box<dyn ComponentData>,
);
}Required Methods§
Sourcefn create_child(
&self,
object_name: String,
script_path: Option<PathBuf>,
parent_object: Option<&dyn Object>,
) -> Option<&dyn Object>
fn create_child( &self, object_name: String, script_path: Option<PathBuf>, parent_object: Option<&dyn Object>, ) -> Option<&dyn Object>
Создаёт дочерний объект для указанного родителя
object_name: имя для созданного объекта
script_path: путь к файлу скрипта
parent_object: объект к оторому будет добавлен объект
Возвращает None, если родитель не существует или объект не может быть создан
Sourcefn set_script(&self, object: &dyn Object, script_path: PathBuf) -> bool
fn set_script(&self, object: &dyn Object, script_path: PathBuf) -> bool
Устанавливает скрипт для объекта
Sourcefn remove_script(&self, object: &dyn Object) -> bool
fn remove_script(&self, object: &dyn Object) -> bool
Убирает скрипт с объекта
Sourcefn move_to_parent(
&self,
child_object: &dyn Object,
new_parent: &dyn Object,
) -> bool
fn move_to_parent( &self, child_object: &dyn Object, new_parent: &dyn Object, ) -> bool
Перемещает объект к новому родителю
Sourcefn add_component(&self, object: &dyn Object, component: Box<dyn ComponentData>)
fn add_component(&self, object: &dyn Object, component: Box<dyn ComponentData>)
Добавляет объекту компонент