You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
3.0 KiB
78 lines
3.0 KiB
using System; |
|
using System.Runtime.CompilerServices; |
|
|
|
[assembly: InternalsVisibleTo("PPv2URPConverters")] |
|
namespace UnityEditor.Rendering.Universal.Converters |
|
{ |
|
// Might need to change this name before making it public |
|
internal abstract class RenderPipelineConverter |
|
{ |
|
/// <summary> |
|
/// Name of the converter. |
|
/// </summary> |
|
public abstract string name { get; } |
|
|
|
/// <summary> |
|
/// The information when hovering over the converter. |
|
/// </summary> |
|
public abstract string info { get; } |
|
|
|
/// <summary> |
|
/// A check if the converter is enabled or not. Can be used to do a check if prerequisites are met to have it enabled or disabled. |
|
/// </summary> |
|
public virtual bool isEnabled => true; |
|
|
|
/// <summary> |
|
/// A priority of the converter. The lower the number (can be negative), the earlier it will be executed. Can be used to make sure that a converter runs before another converter. |
|
/// </summary> |
|
public virtual int priority => 0; |
|
|
|
/// <summary> |
|
/// A check to see if the converter needs to create the index. |
|
/// This will only need to be set to true if the converter is using search api, and search queries. |
|
/// If set to true the converter framework will create the indexer and remove it after all search queries are done. |
|
/// </summary> |
|
public virtual bool needsIndexing => false; |
|
|
|
/// <summary> |
|
/// This method getting triggered when clicking the listview item in the UI. |
|
/// </summary> |
|
public virtual void OnClicked(int index) |
|
{ |
|
} |
|
|
|
// This is so that we can have different segment in our UI, example Unity converters, your custom converters etc.. |
|
// This is not implemented yet |
|
public virtual string category { get; } |
|
|
|
// This is in which drop down item the converter belongs to. |
|
// Not properly implemented yet |
|
public abstract Type container { get; } |
|
|
|
/// <summary> |
|
/// This runs when initializing the converter. To gather data for the UI and also for the converter if needed. |
|
/// </summary> |
|
/// <param name="context">The context that will be used to initialize data for the converter.</param> |
|
public abstract void OnInitialize(InitializeConverterContext context, Action callback); |
|
|
|
/// <summary> |
|
/// The method that will be run before Run method if needed. |
|
/// </summary> |
|
public virtual void OnPreRun() |
|
{ |
|
} |
|
|
|
/// <summary> |
|
/// The method that will be run when converting the assets. |
|
/// </summary> |
|
/// <param name="context">The context that will be used when executing converter.</param> |
|
public abstract void OnRun(ref RunItemContext context); |
|
|
|
/// <summary> |
|
/// The method that will be run after the converters are done if needed. |
|
/// </summary> |
|
public virtual void OnPostRun() |
|
{ |
|
} |
|
} |
|
}
|
|
|