MS
Size: a a a
MS
S
Vec<Box<dyn Foo>>
я просто таким образом ограничу тип элементов для вектораMS
Vec<Box<dyn Foo>>
я просто таким образом ограничу тип элементов для вектораS
S
MS
S
impl<'a> PrefabBuiler<'a>{
pub fn new(world: &'a mut World)->PrefabBuiler<'a>{
PrefabBuiler{
world
}
}
pub fn create(&mut self, prefab: Vec<Components>) -> Entity{
let mut builder = self.world.create_entity();
for component in prefab {
builder = builder.with(component);
}
builder.build()
}
}
MS
builder.with
хочет конкретный тип, а ты скормишь ему Box<dyn Foo>
.MS
S
MS
S
S
pub fn PlayerPrefab () -> Vec<Components> {
vec![
Components::Position(Position{
x: 0.0,
y: 0.0
})
]
}
S
S
let mut builder = PrefabBuiler::new(&mut world);
builder.create(PlayerPrefab());
MS
MS
MS
MS