ShapeCommands

Struct ShapeCommands 

Source
pub struct ShapeCommands<'w, 's> { /* private fields */ }
Expand description

A system param that allows ergonomic spawning of shape entities.

The ShapeConfig used is initially extracted from the BaseShapeConfig resource. Subsequent calls to reset() will reset the config back to whatever is currently stored within the BaseShapeConfig resource.

Shapes will be spawned with commands during the next instance of [apply_deferred]

Implementations§

Source§

impl<'w, 's> ShapeCommands<'w, 's>

Source

pub fn reset(&mut self)

Set the painter’s ShapeConfig to the current value of the BaseShapeConfig resource.

Methods from Deref<Target = ShapeConfig>§

Source

pub fn translate(&mut self, dir: Vec3)

Helper method to modify the configs transform taking into account rotation and scale.

Source

pub fn set_translation(&mut self, translation: Vec3)

Helper method to set the configs transform.

Source

pub fn rotate(&mut self, quat: Quat)

Helper method to rotate the configs transform by a given Quat.

Source

pub fn set_rotation(&mut self, rotation: Quat)

Helper method to set the configs rotation.

Source

pub fn rotate_x(&mut self, angle: f32)

Helper method to rotate the configs transform around the x axis.

Source

pub fn rotate_y(&mut self, angle: f32)

Helper method to rotate the configs transform around the y axis.

Source

pub fn rotate_z(&mut self, angle: f32)

Helper method to rotate the configs transform around the z axis.

Source

pub fn scale(&mut self, scale: Vec3)

Helper method to scale the configs transform.

Source

pub fn set_scale(&mut self, scale: Vec3)

Helper method to set the configs scale.

Source

pub fn set_canvas(&mut self, canvas: Entity)

Helper method to change shape render target to a canvas.

Also sets pipeline to Shape2d.

Source

pub fn set_3d(&mut self)

Helper method to change the target pipeline to the 3d pipeline.

Source

pub fn set_2d(&mut self)

Helper method to change the target pipeline to the 2d pipeline.

Source

pub fn without_transform(&self) -> Self

Helper method to clone the config without it’s transform, useful when parenting.

Source

pub fn set_color(&mut self, color: impl Into<Color>)

Trait Implementations§

Source§

impl<'w, 's> Deref for ShapeCommands<'w, 's>

Source§

type Target = ShapeConfig

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'w, 's> DerefMut for ShapeCommands<'w, 's>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<'w, 's> ShapeSpawner<'w> for ShapeCommands<'w, 's>

Source§

fn spawn_shape(&mut self, bundle: impl Bundle) -> ShapeEntityCommands<'_, '_>

Note: ShapeBundle does not include RenderLayers as there is no support for optional components so instead it is inserted in this function conditionally depending on the ShapeConfig in self Prefer the function for the shape you want over ShapeSpawner::spawn_shape, e.g. commands.rect(...)
Source§

fn config(&self) -> &ShapeConfig

Source§

fn set_config(&mut self, config: ShapeConfig)

Source§

impl SystemParam for ShapeCommands<'_, '_>

Source§

type State = FetchState

Used to store data which persists across invocations of a system.
Source§

type Item<'w, 's> = ShapeCommands<'w, 's>

The item type returned when constructing this system param. The value of this associated type should be Self, instantiated with new lifetimes. Read more
Source§

fn init_state(world: &mut World) -> Self::State

Creates a new instance of this param’s State.
Source§

fn init_access( state: &Self::State, system_meta: &mut SystemMeta, component_access_set: &mut FilteredAccessSet, world: &mut World, )

Registers any World access used by this SystemParam
Source§

fn apply(state: &mut Self::State, system_meta: &SystemMeta, world: &mut World)

Applies any deferred mutations stored in this SystemParam’s state. This is used to apply Commands during ApplyDeferred.
Source§

fn queue( state: &mut Self::State, system_meta: &SystemMeta, world: DeferredWorld<'_>, )

Queues any deferred mutations to be applied at the next ApplyDeferred.
Source§

unsafe fn validate_param<'w, 's>( state: &'s mut Self::State, _system_meta: &SystemMeta, _world: UnsafeWorldCell<'w>, ) -> Result<(), SystemParamValidationError>

Validates that the param can be acquired by the get_param. Read more
Source§

unsafe fn get_param<'w, 's>( state: &'s mut Self::State, system_meta: &SystemMeta, world: UnsafeWorldCell<'w>, change_tick: Tick, ) -> Self::Item<'w, 's>

Creates a parameter to be passed into a SystemParamFunction. Read more
Source§

impl<'w, 's> ReadOnlySystemParam for ShapeCommands<'w, 's>

Auto Trait Implementations§

§

impl<'w, 's> Freeze for ShapeCommands<'w, 's>

§

impl<'w, 's> !RefUnwindSafe for ShapeCommands<'w, 's>

§

impl<'w, 's> Send for ShapeCommands<'w, 's>

§

impl<'w, 's> Sync for ShapeCommands<'w, 's>

§

impl<'w, 's> Unpin for ShapeCommands<'w, 's>

§

impl<'w, 's> !UnwindSafe for ShapeCommands<'w, 's>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

Source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<'w, T> DiscSpawner<'w> for T
where T: ShapeSpawner<'w>,

Source§

fn circle(&mut self, radius: f32) -> ShapeEntityCommands<'_, '_>

Source§

fn arc( &mut self, radius: f32, start_angle: f32, end_angle: f32, ) -> ShapeEntityCommands<'_, '_>

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &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)

Converts &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> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoResult<T> for T

Source§

fn into_result(self) -> Result<T, RunSystemError>

Converts this type into the system output type.
Source§

impl<A> Is for A
where A: Any,

Source§

fn is<T>() -> bool
where T: Any,

Checks if the current type “is” another type, using a TypeId equality comparison. This is most useful in the context of generic logic. Read more
Source§

impl<'w, T> LineSpawner<'w> for T
where T: ShapeSpawner<'w>,

Source§

fn line(&mut self, start: Vec3, end: Vec3) -> ShapeEntityCommands<'_, '_>

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<'w, T> RectangleSpawner<'w> for T
where T: ShapeSpawner<'w>,

Source§

fn rect(&mut self, size: Vec2) -> ShapeEntityCommands<'_, '_>

Source§

impl<'w, T> RegularPolygonSpawner<'w> for T
where T: ShapeSpawner<'w>,

Source§

fn ngon(&mut self, sides: f32, radius: f32) -> ShapeEntityCommands<'_, '_>

Source§

impl<'w, T> TriangleSpawner<'w> for T
where T: ShapeSpawner<'w>,

Source§

fn triangle( &mut self, v_a: Vec2, v_b: Vec2, v_c: Vec2, ) -> ShapeEntityCommands<'_, '_>

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ConditionalSend for T
where T: Send,

Source§

impl<T> SatisfyTraits<dyn None> for T

Source§

impl<T> SatisfyTraits<dyn Send> for T
where T: Send,

Source§

impl<T> SatisfyTraits<dyn Send + Sync> for T
where T: Send + Sync,

Source§

impl<T> SatisfyTraits<dyn Sync> for T
where T: Sync,

Source§

impl<T> Settings for T
where T: 'static + Send + Sync,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,