Struct gemini_engine::elements::containers::CollisionContainer
source · pub struct CollisionContainer<'a> {
pub elements: Vec<&'a dyn ViewElement>,
}Expand description
Contains references to all added objects. Meant to be used specifically for collision calculations
Fields§
§elements: Vec<&'a dyn ViewElement>Implementations§
source§impl<'a> CollisionContainer<'a>
impl<'a> CollisionContainer<'a>
sourcepub const fn new() -> CollisionContainer<'a>
pub const fn new() -> CollisionContainer<'a>
Create a new CollisionLayer
sourcepub fn push(&mut self, element: &'a impl ViewElement)
pub fn push(&mut self, element: &'a impl ViewElement)
Add an element to the container
pub fn generate_collision_points(&self) -> Vec<Vec2D>
sourcepub fn contains(&self, pos: Vec2D) -> bool
pub fn contains(&self, pos: Vec2D) -> bool
Returns true if there is an element from the CollisionContainer at the given coordinates
sourcepub fn overlaps_element(&self, element: &impl ViewElement) -> bool
pub fn overlaps_element(&self, element: &impl ViewElement) -> bool
Returns true if the given ViewElement is overlapping the CollisionContainer
sourcepub fn will_overlap_element(
&self,
element: &impl ViewElement,
offset: Vec2D
) -> bool
pub fn will_overlap_element( &self, element: &impl ViewElement, offset: Vec2D ) -> bool
Returns true if the element will be overlapping the CollisionContainer when the offset is applied
Trait Implementations§
source§impl<'a> Clone for CollisionContainer<'a>
impl<'a> Clone for CollisionContainer<'a>
source§fn clone(&self) -> CollisionContainer<'a>
fn clone(&self) -> CollisionContainer<'a>
Returns a copy 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<'a> From<Vec<&'a dyn ViewElement>> for CollisionContainer<'a>
impl<'a> From<Vec<&'a dyn ViewElement>> for CollisionContainer<'a>
source§fn from(elements: Vec<&'a dyn ViewElement>) -> Self
fn from(elements: Vec<&'a dyn ViewElement>) -> Self
Converts to this type from the input type.
source§impl<'a> ViewElement for CollisionContainer<'a>
impl<'a> ViewElement for CollisionContainer<'a>
source§fn active_pixels(&self) -> Vec<Point>
fn active_pixels(&self) -> Vec<Point>
Return a vector of every coordinate where a pixel should be placed and its respective
ColChar. If your whole object is a solid colour, consider using utils::points_to_pixels() which will add the same ColChar to every point and can then be used as this function’s outputAuto Trait Implementations§
impl<'a> !RefUnwindSafe for CollisionContainer<'a>
impl<'a> !Send for CollisionContainer<'a>
impl<'a> !Sync for CollisionContainer<'a>
impl<'a> Unpin for CollisionContainer<'a>
impl<'a> !UnwindSafe for CollisionContainer<'a>
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