pub struct SpatialBundle {
pub name: Name,
pub transform: Transform,
pub global_transform: GlobalTransform,
pub visibility: Visibility,
pub layer: Layer,
}Expand description
空间实体 Bundle
包含空间变换和可见性信息,适用于需要位置和渲染的实体。
§包含组件
Name: 实体名称Transform: 本地变换GlobalTransform: 全局变换Visibility: 可见性Layer: 渲染层级
§示例
use anvilkit_ecs::prelude::*;
let mut world = World::new();
// 直接创建
let entity = world.spawn(SpatialBundle {
name: Name::new("空间实体"),
transform: Transform::from_translation(Vec3::new(1.0, 2.0, 3.0)),
global_transform: GlobalTransform::default(),
visibility: Visibility::Visible,
layer: Layer::new(1),
}).id();
// 使用构建器
let entity2 = world.spawn(
SpatialBundle::new("移动实体")
.with_position(Vec3::new(5.0, 0.0, 0.0))
.with_layer(2)
).id();Fields§
§name: Name实体名称
transform: Transform本地变换
global_transform: GlobalTransform全局变换
visibility: Visibility可见性
layer: Layer渲染层级
Implementations§
Source§impl SpatialBundle
impl SpatialBundle
Sourcepub fn new(name: impl Into<String>) -> SpatialBundle
pub fn new(name: impl Into<String>) -> SpatialBundle
Sourcepub fn with_position(self, position: Vec3) -> SpatialBundle
pub fn with_position(self, position: Vec3) -> SpatialBundle
Sourcepub fn with_rotation(self, rotation: Quat) -> SpatialBundle
pub fn with_rotation(self, rotation: Quat) -> SpatialBundle
Sourcepub fn with_scale(self, scale: Vec3) -> SpatialBundle
pub fn with_scale(self, scale: Vec3) -> SpatialBundle
Sourcepub fn with_transform(self, transform: Transform) -> SpatialBundle
pub fn with_transform(self, transform: Transform) -> SpatialBundle
Sourcepub fn with_visibility(self, visibility: Visibility) -> SpatialBundle
pub fn with_visibility(self, visibility: Visibility) -> SpatialBundle
Sourcepub fn with_layer(self, layer: i32) -> SpatialBundle
pub fn with_layer(self, layer: i32) -> SpatialBundle
Trait Implementations§
Source§impl Bundle for SpatialBundle
impl Bundle for SpatialBundle
Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl Clone for SpatialBundle
impl Clone for SpatialBundle
Source§fn clone(&self) -> SpatialBundle
fn clone(&self) -> SpatialBundle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SpatialBundle
impl Debug for SpatialBundle
Source§impl Default for SpatialBundle
impl Default for SpatialBundle
Source§fn default() -> SpatialBundle
fn default() -> SpatialBundle
Returns the “default value” for a type. Read more
impl DynamicBundle for SpatialBundle
Auto Trait Implementations§
impl Freeze for SpatialBundle
impl RefUnwindSafe for SpatialBundle
impl Send for SpatialBundle
impl Sync for SpatialBundle
impl Unpin for SpatialBundle
impl UnsafeUnpin for SpatialBundle
impl UnwindSafe for SpatialBundle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self using data from the given World.