mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-13 03:07:38 +02:00
Editor stuff
This commit is contained in:
@ -0,0 +1,66 @@
|
||||
/// Credit koohddang
|
||||
/// Sourced from - http://forum.unity3d.com/threads/onfillvbo-to-onpopulatemesh-help.353977/#post-2299311
|
||||
|
||||
using System;
|
||||
|
||||
namespace UnityEngine.UI.Extensions
|
||||
{
|
||||
[AddComponentMenu("UI/Extensions/Primitives/Diamond Graph")]
|
||||
public class DiamondGraph : UIPrimitiveBase
|
||||
{
|
||||
[SerializeField]
|
||||
private float m_a = 1;
|
||||
[SerializeField]
|
||||
private float m_b = 1;
|
||||
[SerializeField]
|
||||
private float m_c = 1;
|
||||
[SerializeField]
|
||||
private float m_d = 1;
|
||||
|
||||
|
||||
public float A
|
||||
{
|
||||
get { return m_a; }
|
||||
set { m_a = value; }
|
||||
}
|
||||
|
||||
public float B
|
||||
{
|
||||
get { return m_b; }
|
||||
set { m_b = value; }
|
||||
}
|
||||
|
||||
public float C
|
||||
{
|
||||
get { return m_c; }
|
||||
set { m_c = value; }
|
||||
}
|
||||
|
||||
public float D
|
||||
{
|
||||
get { return m_d; }
|
||||
set { m_d = value; }
|
||||
}
|
||||
|
||||
|
||||
protected override void OnPopulateMesh(VertexHelper vh)
|
||||
{
|
||||
vh.Clear();
|
||||
float wHalf = rectTransform.rect.width / 2;
|
||||
//float hHalf = rectTransform.rect.height / 2;
|
||||
m_a = Math.Min(1, Math.Max(0, m_a));
|
||||
m_b = Math.Min(1, Math.Max(0, m_b));
|
||||
m_c = Math.Min(1, Math.Max(0, m_c));
|
||||
m_d = Math.Min(1, Math.Max(0, m_d));
|
||||
|
||||
Color32 color32 = color;
|
||||
vh.AddVert(new Vector3(-wHalf * m_a, 0), color32, new Vector2(0f, 0f));
|
||||
vh.AddVert(new Vector3(0, wHalf * m_b), color32, new Vector2(0f, 1f));
|
||||
vh.AddVert(new Vector3(wHalf * m_c, 0), color32, new Vector2(1f, 1f));
|
||||
vh.AddVert(new Vector3(0, -wHalf * m_d), color32, new Vector2(1f, 0f));
|
||||
|
||||
vh.AddTriangle(0, 1, 2);
|
||||
vh.AddTriangle(2, 3, 0);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user