pub struct SystemMeta { /* private fields */ }Expand description
Metadata about a system.
SystemMeta stores information about a system that is useful for:
- Debugging and logging (name)
- Conflict detection (component access)
- Scheduling (dependencies, ordering)
§Example
use goud_engine::ecs::system::SystemMeta;
let meta = SystemMeta::new("MySystem");
assert_eq!(meta.name(), "MySystem");Implementations§
Source§impl SystemMeta
impl SystemMeta
Sourcepub fn new(name: impl Into<Cow<'static, str>>) -> Self
pub fn new(name: impl Into<Cow<'static, str>>) -> Self
Creates new system metadata with the given name.
Sourcepub fn component_access(&self) -> &Access
pub fn component_access(&self) -> &Access
Returns the system’s component access pattern.
Sourcepub fn component_access_mut(&mut self) -> &mut Access
pub fn component_access_mut(&mut self) -> &mut Access
Returns a mutable reference to the component access pattern.
Sourcepub fn set_component_access(&mut self, access: Access)
pub fn set_component_access(&mut self, access: Access)
Sets the component access pattern.
Sourcepub fn conflicts_with(&self, other: &SystemMeta) -> bool
pub fn conflicts_with(&self, other: &SystemMeta) -> bool
Checks if this system’s access conflicts with another.
Two systems conflict if one writes to a component that the other reads or writes.
Sourcepub fn is_read_only(&self) -> bool
pub fn is_read_only(&self) -> bool
Returns true if this system only reads data (no writes).
Trait Implementations§
Source§impl Clone for SystemMeta
impl Clone for SystemMeta
Source§fn clone(&self) -> SystemMeta
fn clone(&self) -> SystemMeta
Returns a duplicate 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 Debug for SystemMeta
impl Debug for SystemMeta
Auto Trait Implementations§
impl Freeze for SystemMeta
impl RefUnwindSafe for SystemMeta
impl Send for SystemMeta
impl Sync for SystemMeta
impl Unpin for SystemMeta
impl UnsafeUnpin for SystemMeta
impl UnwindSafe for SystemMeta
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,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().