using EcsRx.Groups.Observable;
namespace EcsRx.Systems
{
///
/// Manual systems are the most basic system where you are provided
/// a start and stop method which are run when the system is first
/// registered, and the stop for when the system is removed.
///
///
/// There is an entire package (EcsRx.Systems) which contains the
/// most common conventions for systems, so there is likely a more
/// applicable interface in there.
///
public interface IManualSystem : ISystem
{
///
/// Run when the system has been registered
///
/// The applicable group to do stuff with
void StartSystem(IObservableGroup observableGroup);
///
/// Run when the system has been removed
///
/// The applicable group to do stuff with
void StopSystem(IObservableGroup observableGroup);
}
}