Rasagar/Library/PackageCache/com.unity.2d.sprite/Editor/Interface/IHandles.cs

75 lines
2.3 KiB
C#
Raw Normal View History

2024-08-26 13:07:20 -07:00
using UnityEngine;
using UnityHandles = UnityEditor.Handles;
using UnityTexture2D = UnityEngine.Texture2D;
namespace UnityEditor.U2D.Sprites
{
internal interface IHandles
{
Color color { get; set; }
Matrix4x4 matrix { get; set; }
Vector3[] MakeBezierPoints(Vector3 startPosition, Vector3 endPosition, Vector3 startTangent, Vector3 endTangent, int division);
void DrawAAPolyLine(ITexture2D lineTex, float width, params Vector3[] points);
void DrawAAPolyLine(ITexture2D lineTex, params Vector3[] points);
void DrawLine(Vector3 p1, Vector3 p2);
void SetDiscSectionPoints(Vector3[] dest, Vector3 center, Vector3 normal, Vector3 from, float angle, float radius);
}
internal class HandlesSystem : IHandles
{
static IHandles m_System;
static public void SetSystem(IHandles system)
{
m_System = system;
}
static public IHandles GetSystem()
{
if (m_System == null)
m_System = new HandlesSystem();
return m_System;
}
public Color color
{
get { return UnityHandles.color; }
set { UnityHandles.color = value; }
}
public Matrix4x4 matrix
{
get { return UnityHandles.matrix; }
set { UnityHandles.matrix = value; }
}
public Vector3[] MakeBezierPoints(Vector3 startPosition, Vector3 endPosition, Vector3 startTangent, Vector3 endTangent, int division)
{
return UnityHandles.MakeBezierPoints(startPosition, endPosition, startTangent, endTangent, division);
}
public void DrawAAPolyLine(ITexture2D lineTex, float width, params Vector3[] points)
{
UnityHandles.DrawAAPolyLine((UnityTexture2D)lineTex, width, points);
}
public void DrawAAPolyLine(ITexture2D lineTex, params Vector3[] points)
{
UnityHandles.DrawAAPolyLine((UnityTexture2D)lineTex, points);
}
public void DrawLine(Vector3 p1, Vector3 p2)
{
UnityHandles.DrawLine(p1, p2);
}
public void SetDiscSectionPoints(Vector3[] dest, Vector3 center, Vector3 normal, Vector3 from, float angle, float radius)
{
UnityHandles.SetDiscSectionPoints(dest, center, normal, from, angle, radius);
}
}
}