The Graphics Interface Module is intended to provide a standard set of interfaces that can be used to manipulate a variety of rendering components, including custom rendering components. It also provide a set of adapter classes that provide the ability to use these interfaces with standard unity components. All classes defined in this DLL are found in the EyEengines.Unity.Graphics namespace.
The main interfaces provided are:
Each interface has a static, companion class that provides extension functions for the interface, providing the user with various useful functions that can be used upon objects that implement the interface.
In addition, some concrete adapter components are provided to allow standard unity components to be accessed via the interfaces. This module will automatically attempt to extract the icons associated with these components, into the project's assets/gizmos/EyEengines folders: no files or folders will be created without explicit permission. These adapter classes include:
Two concrete components are also included, which will interface with descendants, but do not require any particular components are:
Modules | |
EyEengines.GraphicsInterfaces.UnityEditor.dll | |
EyEengines.GraphicsInterfaces.dll | |
Classes | |
class | BaseRendererToGraphicsInterfaceAdapter< TRendererType > |
Abstract base class from which all Unity renderer to GraphicsInterface adapters are descended. This class implements all the various IGraphics interfaces: IGraphicsMaterialPropertyBlockInterface, IGraphicsColorInterface, IGraphicsTexureInterface, IGraphicsBounds, and IGraphicsViewable. | |
class | BaseRendererToGraphicsInterfaceAdapterEditor< TRendererType > |
Custom Editor case class. Inherited from to display specific types of BaseRendererToGraphicsInterfaceAdapterEditor descendants in the Unity Editor. Derived classes may override the various "show" members to return false, if they don't want particular sections drawn. | |
class | ColliderToGraphicsBoundsInterfaceAdapter |
The component will take the provided colliderRef and use it to implement and IGraphicsBounds interface. the colliderRef member is initialized with the first collider component found on the same GameObject as this component. It provides the ability to get a local bounds value, that optionally, encapsulates any IGraphicsBounds found as descendants in the scene hierarchy. | |
class | CustomRenderer |
This class is useful when one wants to provide custom drawing functions, but still want all the input variables provided in the standard Unity Renderer component. The unity class is sealed, but this version is not. This class provides no functionality beyond storage of variables, it is up to descendant classes to provide the drawing routines, and execute them at the appropriate times. A few functions for which a default value would make sense, are declare as abstract, and MUST be defined by descendant classes. | |
class | CustomRendererEditor |
You can derive your own editors, for objects derived from custom renderer, from this class. you can override the various "show" member accessors to specify if particular sections should not be drawn. | |
class | DecendantIViewableToggler |
This component will ONLY affect other components, on this object and it's descendants, that implement the IGraphicsViewable interface. It does not affect any other type of components directly. | |
class | DecendantsOnlyBounds |
This component will ONLY extract bound information from other components, on this object and it's descendants, that implement the IGraphicsBounds interface. It does not consider any other type of components directly. | |
class | GradientStorage |
Little more than storage and extensions for Unity's Gradient. It provides Equals functionality allow comparisons and searching. | |
class | GraphicInterfacesEdiorComponent |
Class Used to run upon load. Currently only checks to see if component icons exist, and extracts them if so. | |
interface | IGraphicsBounds |
This interface defines standard methods which custom classes can implement to provide a standard method of getting the bounds of an object. Adapter Components are provided to allow standard unity components that do not implement this interface, to adapt/bridge the default component into one. | |
class | IGraphicsBoundsExtensions |
This class provides two transformation and a descendant-encapsulation functions that can be applied to Bounds, and IGraphicsBounds objects. | |
interface | IGraphicsColorInterface |
Implement this interface on any class that draws to the screen, to provide it with a common way to change the color. Other Components in this module have "GraphicInterfaceAdapaters", that provide this interface for most of Unity's screen drawing components. | |
interface | IGraphicsMaterialPropertyBlockInterface |
Interface that provides a standard way to access the material property block on various renderer materials. | |
interface | IGraphicsMultiMaterialPropertyBlockInterface |
Interface that provides a standard way to access the material property block on various renderer with multiple materials. | |
interface | IGraphicsTexureInterface |
Implement this interface on any class that draws to the screen, to provide it with a common way to change the displayed texture. Other Components in this module have "GraphicInterfaceAdapaters", that provide this interface for most of Unity's screen drawing components. | |
interface | IGraphicsViewable |
Provides a standard interface to enable/disable all renderer components, including those on descendants, without affecting other components on the object. | |
class | IGraphicsViewableExtensions |
Provides functions to get/set the isViewable flag of any IGraphicsViewable components in a given object, and it's descendants. | |
class | MaterialPropertyBlockInterfaceExtensions |
Static extension class that provides useful functions on things that can be done through MaterialPropertyBlockInterfaces. | |
class | MeshRendererToGraphicsInterfaceAdapter |
This class provides a way to access a MeshRenderer component, on the same GameObject, through all the various IGraphics interfaces. | |
class | MeshRendererToGraphicsInterfaceAdapterEditor |
This editor will use the BaseRendererToGraphicsInterfaceAdapterEditor class it derives from, to draw the component. | |
class | SpriteRendererToGraphicsInterfaceAdapter |
This class provides a way to access a SpriteRenderer component, on the same GameObject, through all the various IGraphics interfaces. | |
class | SpriteRendererToGraphicsInterfaceAdapterEditor |
This editor will use the BaseRendererToGraphicsInterfaceAdapterEditor class it derives from, to draw the component. | |
class | TextMeshToColorInterfaceAdapterEditor |
Custom Editor for TextMeshAdapater | |
class | TextMeshToViewableColorInterfaceAdapter |
This class provides a way to access a Unity TextMesh via some of the IGraphics interfaces: IGraphicsColorInterface and IGraphicsViewable | |