3 namespace droid.Runtime.Utilities.Misc.Drawing {
6 public static partial class NeodroidDrawingUtilities {
7 static Texture2D _s_line_tex;
9 static NeodroidDrawingUtilities() {
10 _s_line_tex =
new Texture2D(1, 3, TextureFormat.ARGB32,
true);
11 _s_line_tex.SetPixel(0, 0,
new Color(1, 1, 1, 0));
12 _s_line_tex.SetPixel(0, 1, Color.white);
13 _s_line_tex.SetPixel(0, 2,
new Color(1, 1, 1, 0));
17 public static void DrawLine(Vector2 p_point_a, Vector2 p_point_b,
float p_width) {
18 var save_matrix = GUI.matrix;
19 var save_color = GUI.color;
21 var delta = p_point_b - p_point_a;
22 GUIUtility.ScaleAroundPivot(
new Vector2(delta.magnitude, p_width), Vector2.zero);
23 GUIUtility.RotateAroundPivot(Vector2.Angle(delta, Vector2.right) * Mathf.Sign(delta.y), Vector2.zero);
24 GUI.matrix = Matrix4x4.TRS(p_point_a, Quaternion.identity, Vector3.one) * GUI.matrix;
26 GUI.DrawTexture(
new Rect(Vector2.zero, Vector2.one), _s_line_tex);
28 GUI.matrix = save_matrix;
29 GUI.color = save_color;