Static class that defines a transformation which echoes back the provided IEnvironment object without any mutations or modifications. As such, it is a transformation which does nothing.
Class that inherits from Transformation to describe, through delegate properties called by the base class' overridden methods, the actions to be executed on IEntity objects in order to mutate or modify its properties or behavior and find a solution to a puzzle. Its purpose is to provide a convenient way for describing a transformation without creating custom classes.
Class that abstractly implements ITransformation and is intended to provide the grounding for describing the actions to be executed on IEntity objects in order to find a solution to a puzzle. It is recommended that custom transformation descriptors inherit from this class.
Collection of ITransformation objects.
Interface that defines the basic members required to provide with the actions to be executed on any IEntity object, which will mutate said IEntity's properties or behavior in order to search for a solution to a puzzle.
Delegate to implement the Validate(EntityCollection, IEnvironment) method independently from any custom transformation descriptor class.
Delegate to implement the Apply(EntityCollection, IEnvironment) method independently from any custom transformation descriptor class.