use crate::components::NodeTransform;
use super::{
Node,
node_builder::{Buildable, Builder, NodePrototype},
};
#[derive(Default)]
pub struct Empty {
pub transform: NodeTransform,
}
impl Node for Empty {
fn get_transform(&mut self) -> &mut NodeTransform {
&mut self.transform
}
}
impl super::Instanceable for Empty {
fn instance(&self) -> Self {
Empty {
transform: self.transform,
}
}
}
impl Buildable for Empty {
type Builder = EmptyBuilder;
fn builder() -> Self::Builder {
EmptyBuilder {
prototype: NodePrototype::default(),
}
}
}
pub struct EmptyBuilder {
prototype: NodePrototype,
}
impl Builder for EmptyBuilder {
type Node = Empty;
fn prototype(&mut self) -> &mut NodePrototype {
&mut self.prototype
}
fn build(self) -> Self::Node {
Empty {
transform: self.prototype.transform,
}
}
}