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

47 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.VFX;
namespace UnityEditor.VFX
{
enum VFXPrimitiveType
{
Triangle,
Quad,
Octagon,
}
static class VFXPlanarPrimitiveHelper
{
public class OctagonInputProperties
{
[Range(0, 1), Tooltip("Sets the amount by which the octagonal particle shape is cropped, allowing for a tighter fit and reducing potential overdraw by eliminating transparent pixels.")]
public float cropFactor = (int)(0.5f * (1.0f - Mathf.Tan(Mathf.PI / 8.0f)) * 1000.0f + 0.5f) / 1000.0f; // regular octagon with 3 decimals
}
public static VFXTaskType GetTaskType(VFXPrimitiveType prim)
{
switch (prim)
{
case VFXPrimitiveType.Triangle: return VFXTaskType.ParticleTriangleOutput;
case VFXPrimitiveType.Quad: return VFXTaskType.ParticleQuadOutput;
case VFXPrimitiveType.Octagon: return VFXTaskType.ParticleOctagonOutput;
default: throw new NotImplementedException();
}
}
public static string GetShaderDefine(VFXPrimitiveType prim)
{
switch (prim)
{
case VFXPrimitiveType.Triangle: return "VFX_PRIMITIVE_TRIANGLE";
case VFXPrimitiveType.Quad: return "VFX_PRIMITIVE_QUAD";
case VFXPrimitiveType.Octagon: return "VFX_PRIMITIVE_OCTAGON";
default: throw new NotImplementedException();
}
}
}
}