CommandPattern 1.0.0
This package contains a collection of classes and interfaces to allow for quick and consistent implementation of the command pattern across projects.
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CSadSapphicGames.CommandPattern.CommandStreamThis is the object that stores commands to be invoked and executes them when told to by the client. It has no knowledge of the implementation of commands beyond their interfaces.
 CSystem.Exception
 CSadSapphicGames.CommandPattern.AlreadyRunningExceptionThis exception indicates an AsyncCommand was executed but its task had yet to complete. Only one CommandTask per instance can be running at a time. Handled by CommandStream.
 CSadSapphicGames.CommandPattern.IrreversibleCompositeFailureExceptionAn exception that indicates a CompositeCommand is executed but one of its children failed and the composite cannot undo its executed commands
 CSadSapphicGames.CommandPattern.ReversibleCompositeFailureExceptionAn exception that indicates a CompositeCommand is executed but one of its children failed, however the composite was able to undo the commands it had executed
 CSadSapphicGames.CommandPattern.ICommandThis is the Interface of the Command abstract class, unless you are defining your own base type for commands you should probably inherit from Command over this
 CSadSapphicGames.CommandPattern.CommandThe base class of all commands
 CSadSapphicGames.CommandPattern.AsyncCommandThe base class of all commands who's execute method involves asynchronous tasks
 CSadSapphicGames.CommandPattern.CompositeCommandA Command that is composed of multiple child commands, all of which are executed together and leave one record in the CommandStream's history. <remark> For more information on this type of object seek external documentation on the composite design pattern </remark>
 CSadSapphicGames.CommandPattern.NullCompositeCommandLike the NullCommand this is a composite command that does nothing, multiple times.
 CSadSapphicGames.CommandPattern.SimpleCompositeA CompositeCommand created from a collection of Command's that cannot fail
 CSadSapphicGames.CommandPattern.NullCommandA Command that does nothing
 CSadSapphicGames.CommandPattern.IAsyncCommandThis Interface of the AsyncCommand abstract class, It is strongly recommended you use the AsyncCommand class rather than implement this yourself unless you are very familiar with asynchronous programming
 CSadSapphicGames.CommandPattern.AsyncCommandThe base class of all commands who's execute method involves asynchronous tasks
 CSadSapphicGames.CommandPattern.IFailableInterface implemented by commands that could fail to execute. Commands that would fail do not have their execute method invoked and are not recorded in the CommandStream's history
 CSadSapphicGames.CommandPattern.IUndoableIndicates a command can be undone
 CSadSapphicGames.CommandPattern.NullCommandA Command that does nothing
 CSadSapphicGames.CommandPattern.NullCompositeCommandLike the NullCommand this is a composite command that does nothing, multiple times.
 CMonoBehaviour
 CSadSapphicGames.CommandPattern.SingletonCommandManagerA singleton manager for a single-stream, out of the box implementation of the Command pattern. Once you understand how the package works it is highly recommended create your own CommandStream wrapper tailored to the needs of your project. Executes the next command in the CommandStream every frame.