2023-05-08 15:56:10 +03:00

51 lines
1.5 KiB
C#

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