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> {
|
||||
fn single(&self) -> Option<(&EntityId, &T)>;
|
||||
fn get(&self, k: &EntityId) -> Option<&T>;
|
||||
fn contains_key(&self, k: &EntityId) -> bool;
|
||||
}
|
||||
|
||||
pub trait ComponentStoreConvenienceMut<T: Component> {
|
||||
fn single_mut(&mut self) -> Option<(&EntityId, &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>> {
|
||||
|
@ -227,6 +229,14 @@ impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefComponents<'a,
|
|||
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>> {
|
||||
|
@ -246,6 +256,14 @@ impl<'a, T: Component> ComponentStoreConvenience<T> for Option<RefMutComponents<
|
|||
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>> {
|
||||
|
@ -265,6 +283,14 @@ impl<'a, T: Component> ComponentStoreConvenienceMut<T> for Option<RefMutComponen
|
|||
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> {
|
||||
|
|
Loading…
Reference in a new issue