Skip to main content

Context

Trait Context 

Source
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§

Source

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, если родитель не существует или объект не может быть создан

Source

fn remove_object(&mut self, object: &dyn Object) -> bool

Удаляет объект и всё его поддерево

Source

fn set_object_script( &mut self, object: &dyn Object, script_path: Option<PathBuf>, ) -> bool

Устанавливает скрипт для объекта если script_path: None, скрипт будет удалён

Source

fn move_object_to_parent( &mut self, child_object: &dyn Object, new_parent: Option<&dyn Object>, ) -> bool

Перемещает объект к новому родителю если new_parent: None, объект станет корнем

Source

fn get_object(&self, object_path: &str) -> Option<&dyn Object>

Получает объект по пути

Source

fn add_component( &mut self, object: &dyn Object, component: Box<dyn ComponentData>, )

Добавляет объекту компонент

Source

fn log(&self, msg: &str)

Логирование (можно вынести в отдельную подсистему позже)

Implementors§