pub enum HitResult {
Block(BlockHitResult),
Entity(EntityHitResult),
}Expand description
The block or entity that our player is looking at and can interact with.
If there’s nothing, it’ll be a BlockHitResult with miss set to true.
Variants§
Block(BlockHitResult)
Entity(EntityHitResult)
Implementations§
Source§impl HitResult
impl HitResult
pub fn miss(&self) -> bool
pub fn location(&self) -> Vec3
pub fn new_miss( location: Vec3, direction: Direction, block_pos: BlockPos, ) -> Self
pub fn is_block_hit_and_not_miss(&self) -> bool
Sourcepub fn as_block_hit_result_if_not_miss(&self) -> Option<&BlockHitResult>
pub fn as_block_hit_result_if_not_miss(&self) -> Option<&BlockHitResult>
Returns the BlockHitResult, if we were looking at a block.
Sourcepub fn as_entity_hit_result(&self) -> Option<&EntityHitResult>
pub fn as_entity_hit_result(&self) -> Option<&EntityHitResult>
Returns the EntityHitResult, if we were looking at an entity and it
wasn’t a miss.
Trait Implementations§
Source§impl From<BlockHitResult> for HitResult
Available on crate feature bevy_ecs only.
impl From<BlockHitResult> for HitResult
Available on crate feature
bevy_ecs only.Source§fn from(value: BlockHitResult) -> Self
fn from(value: BlockHitResult) -> Self
Converts to this type from the input type.
Source§impl From<EntityHitResult> for HitResult
Available on crate feature bevy_ecs only.
impl From<EntityHitResult> for HitResult
Available on crate feature
bevy_ecs only.Source§fn from(value: EntityHitResult) -> Self
fn from(value: EntityHitResult) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for HitResult
Auto Trait Implementations§
impl Freeze for HitResult
impl RefUnwindSafe for HitResult
impl Send for HitResult
impl Sync for HitResult
impl Unpin for HitResult
impl UnwindSafe for HitResult
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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.§fn as_any(&self) -> &(dyn Any + 'static)
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.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
§impl<T> TypeData for T
impl<T> TypeData for T
§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of this value.