add contains_key convenience component store method
This commit is contained in:
parent
2470919d17
commit
4e291f33dc
|
@ -203,11 +203,13 @@ impl Entities {
|
||||||
pub trait ComponentStoreConvenience<T: Component> {
|
pub trait ComponentStoreConvenience<T: Component> {
|
||||||
fn single(&self) -> Option<(&EntityId, &T)>;
|
fn single(&self) -> Option<(&EntityId, &T)>;
|
||||||
fn get(&self, k: &EntityId) -> Option<&T>;
|
fn get(&self, k: &EntityId) -> Option<&T>;
|
||||||
|
fn contains_key(&self, k: &EntityId) -> bool;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait ComponentStoreConvenienceMut<T: Component> {
|
pub trait ComponentStoreConvenienceMut<T: Component> {
|
||||||
fn single_mut(&mut self) -> Option<(&EntityId, &T)>;
|
fn single_mut(&mut self) -> Option<(&EntityId, &T)>;
|
||||||
fn get_mut(&mut self, k: &EntityId) -> Option<&mut T>;
|
fn get_mut(&mut self, k: &EntityId) -> Option<&mut T>;
|
||||||
|
fn contains_key(&mut self, k: &EntityId) -> bool;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefComponents<'a, T>> {
|
impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefComponents<'a, T>> {
|
||||||
|
@ -227,6 +229,14 @@ impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefComponents<'a,
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn contains_key(&self, k: &EntityId) -> bool {
|
||||||
|
if let Some(components) = self {
|
||||||
|
components.contains_key(k)
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefMutComponents<'a, T>> {
|
impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefMutComponents<'a, T>> {
|
||||||
|
@ -246,6 +256,14 @@ impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefMutComponents<
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn contains_key(&self, k: &EntityId) -> bool {
|
||||||
|
if let Some(components) = self {
|
||||||
|
components.contains_key(k)
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, T: Component> ComponentStoreConvenienceMut<T> for Option<RefMutComponents<'a, T>> {
|
impl<'a, T: Component> ComponentStoreConvenienceMut<T> for Option<RefMutComponents<'a, T>> {
|
||||||
|
@ -265,6 +283,14 @@ impl<'a, T: Component> ComponentStoreConvenienceMut<T> for Option<RefMutComponen
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn contains_key(&mut self, k: &EntityId) -> bool {
|
||||||
|
if let Some(components) = self {
|
||||||
|
components.contains_key(k)
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait OptionComponentStore<T: Component> {
|
pub trait OptionComponentStore<T: Component> {
|
||||||
|
|
Loading…
Reference in a new issue