using UnityEditor.Graphing;
using UnityEditor.ShaderGraph.Internal;

namespace UnityEditor.ShaderGraph
{
    interface IMayRequireTangent
    {
        NeededCoordinateSpace RequiresTangent(ShaderStageCapability stageCapability = ShaderStageCapability.All);
    }

    static class MayRequireTangentExtensions
    {
        public static NeededCoordinateSpace RequiresTangent(this MaterialSlot slot)
        {
            var mayRequireTangent = slot as IMayRequireTangent;
            return mayRequireTangent != null ? mayRequireTangent.RequiresTangent() : NeededCoordinateSpace.None;
        }
    }
}