Files
CartoonRPG/Library/PackageCache/com.unity.visualeffectgraph@2973a8ac1070/Editor/Expressions/VFXExpressionSampleGradient.cs
Caleb Sandford deQuincey 02c4b5ab66 Adding in new packages
2025-06-05 22:59:18 +01:00

36 lines
1.2 KiB
C#

using System;
using System.Linq;
using System.Runtime.CompilerServices;
using UnityEngine;
using UnityEngine.VFX;
namespace UnityEditor.VFX
{
class VFXExpressionSampleGradient : VFXExpression
{
public VFXExpressionSampleGradient() : this(VFXValue<Gradient>.Default, VFXValue<float>.Default)
{
}
public VFXExpressionSampleGradient(VFXExpression gradient, VFXExpression time)
: base(Flags.None, new VFXExpression[2] { gradient, time })
{ }
sealed public override VFXExpressionOperation operation { get { return VFXExpressionOperation.SampleGradient; } }
protected sealed override VFXExpression Evaluate(VFXExpression[] constParents)
{
var timeReduce = constParents[1];
var gradientReduce = constParents[0];
var gradient = gradientReduce.Get<Gradient>();
var time = timeReduce.Get<float>();
return VFXValue.Constant((Vector4)gradient.Evaluate(time));
}
public sealed override string GetCodeString(string[] parents)
{
return string.Format("SampleGradient({0},{1})", parents[0], parents[1]);
}
}
}