Unity-DebugX/Runtime/Utils/StaticData.cs

144 lines
4.6 KiB
C#
Raw Normal View History

2025-02-22 17:25:54 +08:00
using UnityEngine;
using static DCFApixels.DebugX;
namespace DCFApixels.DebugXCore
{
public interface IStaticData
{
string GetName();
}
public interface IStaticMaterial : IStaticData
{
int GetExecuteOrder();
Material GetMaterial();
}
public interface IStaticMesh : IStaticData
{
Mesh GetMesh();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public readonly struct LitMat : IStaticMaterial
{
public string GetName() => "Lit";
public int GetExecuteOrder() => 0;
public Material GetMaterial() => Materials.Lit;
}
public readonly struct UnlitMat : IStaticMaterial
{
public string GetName() => "Unlit";
public int GetExecuteOrder() => 100_000;
public Material GetMaterial() => Materials.Unlit;
}
public readonly struct WireMat : IStaticMaterial
{
public string GetName() => "Wire";
public int GetExecuteOrder() => 1_000_000;
public Material GetMaterial() => Materials.Wire;
}
public readonly struct BillboardMat : IStaticMaterial
{
public string GetName() => "Billboard";
public int GetExecuteOrder() => 200_000;
public Material GetMaterial() => Materials.Billboard;
}
public readonly struct DotMat : IStaticMaterial
{
public string GetName() => "Dot";
public int GetExecuteOrder() => 300_000;
public Material GetMaterial() => Materials.Dot;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public readonly struct SphereMesh : IStaticMesh
{
public string GetName() => "Sphere";
public Mesh GetMesh() => Meshes.Sphere;
}
public readonly struct CubeMesh : IStaticMesh
{
public string GetName() => "Cube";
public Mesh GetMesh() => Meshes.Cube;
}
public readonly struct QuadMesh : IStaticMesh
{
public string GetName() => "Quad";
public Mesh GetMesh() => Meshes.Quad;
}
public readonly struct CircleMesh : IStaticMesh
{
public string GetName() => "Circle";
public Mesh GetMesh() => Meshes.Circle;
}
public readonly struct CapsuleBodyMesh : IStaticMesh
{
public string GetName() => "CapsuleBody";
public Mesh GetMesh() => Meshes.CapsuleBody;
}
public readonly struct CapsuleHeadMesh : IStaticMesh
{
public string GetName() => "CapsuleHead";
public Mesh GetMesh() => Meshes.CapsuleHead;
}
public readonly struct FlatCapsuleBodyMesh : IStaticMesh
{
public string GetName() => "FlatCapsuleBody";
public Mesh GetMesh() => Meshes.FlatCapsuleBody;
}
public readonly struct FlatCapsuleHeadMesh : IStaticMesh
{
public string GetName() => "FlatCapsuleHead";
public Mesh GetMesh() => Meshes.FlatCapsuleHead;
}
public readonly struct ArrowMesh : IStaticMesh
{
public string GetName() => "Arrow";
public Mesh GetMesh() => Meshes.Arrow;
}
public readonly struct DotMesh : IStaticMesh
{
public string GetName() => "Dot";
public Mesh GetMesh() => Meshes.Dot;
}
public readonly struct DotQuadMesh : IStaticMesh
{
public string GetName() => "DotQuad";
public Mesh GetMesh() => Meshes.DotQuad;
}
public readonly struct DotDiamondMesh : IStaticMesh
{
public string GetName() => "DotDiamond";
public Mesh GetMesh() => Meshes.DotDiamond;
}
public readonly struct DotCrossMesh : IStaticMesh
{
public string GetName() => "DotCross";
public Mesh GetMesh() => Meshes.DotCross;
}
public readonly struct WireLineMesh : IStaticMesh
{
public string GetName() => "WireLine";
public Mesh GetMesh() => Meshes.WireLine;
}
public readonly struct WireCubeMesh : IStaticMesh
{
public string GetName() => "WireCube";
public Mesh GetMesh() => Meshes.WireCube;
}
public readonly struct WireArcMesh : IStaticMesh
{
public string GetName() => "WireArc";
public Mesh GetMesh() => Meshes.WireArc;
}
public readonly struct WireCircleMesh : IStaticMesh
{
public string GetName() => "WireCircle";
public Mesh GetMesh() => Meshes.WireCircle;
}
public readonly struct WireSphereMesh : IStaticMesh
{
public string GetName() => "WireSphere";
public Mesh GetMesh() => Meshes.WireSphere;
}
}