Module ecstatic::traits[][src]

Expand description

Traits used in the ECS interface(s)

Enums

SystemOutput

Output of PureFunctionalSystem for one component.

Traits

BuildWith

Trait implemented by EntityBuilder types.

ComponentProvider

Component provider for flat tuples.

ComponentProviderRec

Internal version of ComponentProvider that is implemented for nested tuples.

Flatten

Inverse of Nest.

GetComponent

Indicates that the implementor stores components of type T.

GetResource

Indicates that the implementor stores a resource of type T.

Nest

Trait that allows us to convert flat tuple types to nested tuple types (e.g., (A, B, C)(A, (B, (C, ())))).

PureFunctionalSystem

For systems that don’t cause side effects or need to reason about entities or components globally, it is highly recommended that you implement PureFunctionalSystem, which the library will be able to automatically parallelize.

ResourceProvider

Get the Resources struct from a world generically.

System

Trait that systems must implement.

SystemOutputTuple

Trait for converting tuples into tuples of SystemOutputs.

WorldInterface

Interface to the World struct generated via the define_world! macro.