using System;
using UnityEngine.Categorization;
namespace UnityEditor.Rendering.Converter
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
internal class PipelineConverterAttribute : CategoryInfoAttribute
{
public string source { get; }
public string destination { get; }
public PipelineConverterAttribute(string pipelineFrom, string pipelineTo)
{
if (string.IsNullOrEmpty(pipelineFrom) || string.IsNullOrEmpty(pipelineTo))
throw new ArgumentNullException(string.IsNullOrEmpty(pipelineTo) ? nameof(pipelineTo) : nameof(pipelineFrom), "PipelineConverterAttribute parameters cannot be null or empty");
source = pipelineFrom;
destination = pipelineTo;
Name = "Pipeline Converter";
Order = int.MinValue;
}
}
// Attribute to mark that type/member is a pipeline updater
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
internal class PipelineToolsAttribute : CategoryInfoAttribute
{
public PipelineToolsAttribute()
{
Name = "Pipeline Tools";
Order = int.MinValue + 1;
}
}
}