namespace UnityEngine.XR.Content.Rendering
{
///
/// Specifies how a material is applied to renderer for highlighting
///
public enum MaterialHighlightMode
{
/// Adds a new material to the renderers materials array
Layer,
/// Replace the renderers materials with materials
Replace,
}
///
/// Identifies a script as one that can apply a highlight to renderers
///
public interface IMaterialHighlight
{
///
/// How a new material will be applied to the renderer's material array.
///
MaterialHighlightMode highlightMode { get; set; }
///
/// Material to use for highlighting
///
Material highlightMaterial { get; }
///
/// Used to set up any initial values or materials
///
void Initialize();
///
/// Used to remove any persistent objects
///
void Deinitialize();
///
/// Raised when a highlight operations has completed
///
void OnHighlight();
///
/// Raised when a un-highlight operations has completed
///
/// A requested delay to transition out the highlight
float OnUnhighlight();
}
}