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