| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;namespace XUGL{    [ExecuteInEditMode]    public class UGLExample : MaskableGraphic    {        private float m_Width = 800;        private float m_Height = 800;        private Vector3 m_Center = Vector3.zero;        private Vector3 m_LeftTopPos = Vector3.zero;        private Color32 m_BackgroundColor = new Color32(224, 224, 224, 255);        private Color32 m_DrawColor = new Color32(255, 132, 142, 255);        private float[] m_BorderRadius = new float[] { 5, 5, 10, 10 };        protected override void Awake()        {            base.Awake();            var rectTransform = GetComponent<RectTransform>();            rectTransform.sizeDelta = new Vector2(500, 500);            rectTransform.anchorMin = new Vector2(0.5f, 0.5f);            rectTransform.anchorMax = new Vector2(0.5f, 0.5f);            rectTransform.pivot = new Vector2(0.5f, 0.5f);            m_Center = Vector3.zero;            m_LeftTopPos = new Vector3(-m_Width / 2, m_Height / 2);        }        protected override void OnPopulateMesh(VertexHelper vh)        {            Vector3 sp, cp, ep;            vh.Clear();            //背景边框            UGL.DrawSquare(vh, m_Center, m_Width / 2, m_BackgroundColor);            UGL.DrawBorder(vh, m_Center, m_Width, m_Height, 40, Color.green, Color.red, 0, m_BorderRadius, false, 1);            //点            UGL.DrawCricle(vh, m_LeftTopPos + new Vector3(20, -20), 10, m_DrawColor);            //直线            sp = new Vector3(m_LeftTopPos.x + 50, m_LeftTopPos.y - 20);            ep = new Vector3(m_LeftTopPos.x + 250, m_LeftTopPos.y - 20);            UGL.DrawLine(vh, sp, ep, 3, m_DrawColor);            //3点确定的折线            sp = new Vector3(m_LeftTopPos.x + 20, m_LeftTopPos.y - 100);            cp = new Vector3(m_LeftTopPos.x + 200, m_LeftTopPos.y - 40);            ep = new Vector3(m_LeftTopPos.x + 250, m_LeftTopPos.y - 80);            UGL.DrawLine(vh, sp, cp, ep, 5, m_DrawColor);        }    }}
 |