This is the Interface for component providers. Component providers are used to supply components for states within an EntityStateMachine. Ash includes three standard component providers, ComponentTypeProvider, ComponentInstanceProvider and ComponentSingletonProvider. Developers may wish to create more.
This component provider always returns the same instance of the component. The instance is passed to the provider at initialisation.
This component provider always returns the same instance of the component. The instance is created when first required and is of the type passed in to the constructor.
This component provider always returns a new instance of a component. An instance is created when requested and is of the type passed in to the constructor.
This component provider calls a function to get the component instance. The function must return a single component of the appropriate type.
This System provider returns results of a method call. The method is passed to the provider at initialisation.
Represents a state for a SystemStateMachine. The state contains any number of SystemProviders which are used to add Systems to the Engine when this state is entered.
This is a state machine for the Engine. The state machine manages a set of states, each of which has a set of System providers. When the state machine changes the state, it removes Systems associated with the previous state and adds Systems associated with the new state.
Represents a state for an EntityStateMachine. The state contains any number of ComponentProviders which are used to add components to the entity when this state is entered.
This is a state machine for an entity. The state machine manages a set of states, each of which has a set of component providers. When the state machine changes the state, it removes components associated with the previous state and adds components associated with the new state.
This System provider always returns the same instance of the component. The system is passed to the provider at initialisation.
This System provider always returns the same instance of the System. The instance is created when first required and is of the type passed in to the constructor.