namespace Wayne.Lib.StateEngine { /// <summary> /// Interface for State Factories. The factories are added to the state machine, and are used to /// create the actual state objects. The Wayne.Lib.StateEngine library does not provide any implementation /// for this interface, it must be implemented in each application. /// </summary> public interface IStateFactory { #region Properties /// <summary> /// Create a state object from the specified State name. /// </summary> /// <param name="stateFactoryName">Name of the state to be created.</param> /// <returns>If successful, it returns the object for the state name. If it not was found, it returns null.</returns> State CreateState(string stateFactoryName); /// <summary> /// Name of the state facory. /// </summary> string Name { get; } #endregion } }