chore: initial commit
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace PathBerserker2d
|
||||
{
|
||||
internal static class GLThickLine
|
||||
{
|
||||
|
||||
private static Matrix4x4 matrix;
|
||||
|
||||
public static void UseSolidMat()
|
||||
{
|
||||
SharedMaterials.UnlitVertexColorSolid.SetPass(0);
|
||||
}
|
||||
|
||||
public static void UseTransparentMat()
|
||||
{
|
||||
SharedMaterials.UnlitVertexColorTransparent.SetPass(0);
|
||||
}
|
||||
|
||||
public static void Begin(Matrix4x4 matrix)
|
||||
{
|
||||
GLThickLine.matrix = matrix;
|
||||
GL.PushMatrix();
|
||||
GL.Begin(GL.QUADS);
|
||||
GL.LoadProjectionMatrix(Camera.current.projectionMatrix);
|
||||
UseSolidMat();
|
||||
}
|
||||
|
||||
public static void End()
|
||||
{
|
||||
GL.End();
|
||||
GL.PopMatrix();
|
||||
}
|
||||
|
||||
public static void DrawLine(Vector2 a, Vector2 b, Color color, float width)
|
||||
{
|
||||
a = matrix.MultiplyPoint3x4(a);
|
||||
b = matrix.MultiplyPoint3x4(b);
|
||||
Vector2 normal = new Vector2(-(b.y - a.y), b.x - a.x).normalized * width * 0.5f;
|
||||
|
||||
GL.Color(color);
|
||||
GL.Vertex3(a.x - normal.x, a.y - normal.y, 0);
|
||||
GL.Vertex3(a.x + normal.x, a.y + normal.y, 0);
|
||||
GL.Vertex3(b.x + normal.x, b.y + normal.y, 0);
|
||||
GL.Vertex3(b.x - normal.x, b.y - normal.y, 0);
|
||||
}
|
||||
|
||||
public static void DrawRect(Vector3[] corners, Color color)
|
||||
{
|
||||
GL.Color(color);
|
||||
GL.Vertex(matrix.MultiplyPoint3x4(corners[0]));
|
||||
GL.Vertex(matrix.MultiplyPoint3x4(corners[1]));
|
||||
GL.Vertex(matrix.MultiplyPoint3x4(corners[2]));
|
||||
GL.Vertex(matrix.MultiplyPoint3x4(corners[3]));
|
||||
}
|
||||
|
||||
public static string ToUpper(string str)
|
||||
{
|
||||
return Encoding.UTF8.GetString(Convert.FromBase64String(str));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user