| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 | 
							- using System;
 
- using UnityEngine;
 
- using UnityEngine.UI;
 
- namespace XCharts.Runtime
 
- {
 
-     public class LegendItem
 
-     {
 
-         private int m_Index;
 
-         private string m_Name;
 
-         private string m_LegendName;
 
-         private GameObject m_GameObject;
 
-         private Button m_Button;
 
-         private Image m_Icon;
 
-         private ChartText m_Text;
 
-         private Image m_Background;
 
-         private Image m_TextBackground;
 
-         private RectTransform m_Rect;
 
-         private RectTransform m_IconRect;
 
-         private RectTransform m_TextRect;
 
-         private RectTransform m_TextBackgroundRect;
 
-         private float m_Gap = 0f;
 
-         private float m_LabelPaddingLeftRight = 0f;
 
-         private float m_LabelPaddingTopBottom = 0f;
 
-         private bool m_LabelAutoSize = true;
 
-         public int index { get { return m_Index; } set { m_Index = value; } }
 
-         public string name { get { return m_Name; } set { m_Name = value; } }
 
-         public string legendName { get { return m_LegendName; } set { m_LegendName = value; } }
 
-         public GameObject gameObject { get { return m_GameObject; } }
 
-         public Button button { get { return m_Button; } }
 
-         public ChartText text { get { return m_Text; } }
 
-         public float width
 
-         {
 
-             get
 
-             {
 
-                 if (m_IconRect && m_TextBackgroundRect)
 
-                 {
 
-                     return m_IconRect.sizeDelta.x + m_Gap + m_TextBackgroundRect.sizeDelta.x;
 
-                 }
 
-                 else
 
-                 {
 
-                     return 0;
 
-                 }
 
-             }
 
-         }
 
-         public float height
 
-         {
 
-             get
 
-             {
 
-                 if (m_IconRect && m_TextBackgroundRect)
 
-                 {
 
-                     return Mathf.Max(m_IconRect.sizeDelta.y, m_TextBackgroundRect.sizeDelta.y);
 
-                 }
 
-                 else
 
-                 {
 
-                     return m_Text.GetPreferredHeight();
 
-                 }
 
-             }
 
-         }
 
-         public void SetObject(GameObject obj)
 
-         {
 
-             m_GameObject = obj;
 
-             m_Button = obj.GetComponent<Button>();
 
-             m_Rect = obj.GetComponent<RectTransform>();
 
-             m_Icon = obj.transform.Find("icon").gameObject.GetComponent<Image>();
 
-             m_Background = obj.GetComponent<Image>();
 
-             m_TextBackground = obj.transform.Find("content").gameObject.GetComponent<Image>();
 
-             m_Text = new ChartText(obj);
 
-             m_IconRect = m_Icon.gameObject.GetComponent<RectTransform>();
 
-             m_TextRect = m_Text.gameObject.GetComponent<RectTransform>();
 
-             m_TextBackgroundRect = m_TextBackground.gameObject.GetComponent<RectTransform>();
 
-         }
 
-         public void SetButton(Button button)
 
-         {
 
-             m_Button = button;
 
-         }
 
-         public void SetIcon(Image icon)
 
-         {
 
-             m_Icon = icon;
 
-         }
 
-         public void SetText(ChartText text)
 
-         {
 
-             m_Text = text;
 
-         }
 
-         public void SetTextBackground(Image image)
 
-         {
 
-             m_TextBackground = image;
 
-         }
 
-         public void SetIconSize(float width, float height)
 
-         {
 
-             if (m_IconRect)
 
-             {
 
-                 m_IconRect.sizeDelta = new Vector2(width, height);
 
-             }
 
-         }
 
-         public Rect GetIconRect()
 
-         {
 
-             if (m_GameObject && m_IconRect)
 
-             {
 
-                 var pos = m_GameObject.transform.localPosition;
 
-                 var sizeDelta = m_IconRect.sizeDelta;
 
-                 var y = pos.y - (m_Rect.sizeDelta.y - sizeDelta.y) / 2 - sizeDelta.y;
 
-                 return new Rect(pos.x, y, m_IconRect.sizeDelta.x, m_IconRect.sizeDelta.y);
 
-             }
 
-             else
 
-             {
 
-                 return Rect.zero;
 
-             }
 
-         }
 
-         public Color GetIconColor()
 
-         {
 
-             if (m_Icon) return m_Icon.color;
 
-             else return Color.clear;
 
-         }
 
-         public void SetIconColor(Color color)
 
-         {
 
-             if (m_Icon)
 
-             {
 
-                 m_Icon.color = color;
 
-             }
 
-         }
 
-         public void SetIconImage(Sprite image)
 
-         {
 
-             if (m_Icon)
 
-             {
 
-                 m_Icon.sprite = image;
 
-             }
 
-         }
 
-         public void SetIconActive(bool active)
 
-         {
 
-             if (m_Icon)
 
-             {
 
-                 m_Icon.gameObject.SetActive(active);
 
-             }
 
-         }
 
-         public void SetContentColor(Color color)
 
-         {
 
-             if (m_Text != null)
 
-             {
 
-                 m_Text.SetColor(color);
 
-             }
 
-         }
 
-         public void SetContentBackgroundColor(Color color)
 
-         {
 
-             if (m_TextBackground)
 
-             {
 
-                 m_TextBackground.color = color;
 
-             }
 
-         }
 
-         public void SetContentPosition(Vector3 offset)
 
-         {
 
-             m_Gap = offset.x;
 
-             if (m_TextBackgroundRect)
 
-             {
 
-                 var posX = m_IconRect.sizeDelta.x + offset.x;
 
-                 m_TextBackgroundRect.anchoredPosition3D = new Vector3(posX, offset.y, 0);
 
-             }
 
-         }
 
-         public bool SetContent(string content)
 
-         {
 
-             if (m_Text == null) return false;
 
-             if (!m_Text.GetText().Equals(content))
 
-             {
 
-                 m_Text.SetText(content);
 
-                 if (m_LabelAutoSize)
 
-                 {
 
-                     var newSize = string.IsNullOrEmpty(content) ? Vector2.zero :
 
-                         new Vector2(m_Text.GetPreferredWidth(), m_Text.GetPreferredHeight());
 
-                     var sizeChange = newSize.x != m_TextRect.sizeDelta.x || newSize.y != m_TextRect.sizeDelta.y;
 
-                     if (sizeChange)
 
-                     {
 
-                         m_TextRect.sizeDelta = newSize;
 
-                         m_TextRect.anchoredPosition3D = new Vector3(m_LabelPaddingLeftRight, 0);
 
-                         m_TextBackgroundRect.sizeDelta = new Vector2(m_Text.GetPreferredWidth() + m_LabelPaddingLeftRight * 2,
 
-                             m_Text.GetPreferredHeight() + m_LabelPaddingTopBottom * 2 - 4);
 
-                     }
 
-                     m_Rect.sizeDelta = new Vector3(width, height);
 
-                     return sizeChange;
 
-                 }
 
-             }
 
-             m_Rect.sizeDelta = new Vector3(width, height);
 
-             return false;
 
-         }
 
-         public void SetPosition(Vector3 position)
 
-         {
 
-             if (m_GameObject)
 
-             {
 
-                 m_GameObject.transform.localPosition = position;
 
-             }
 
-         }
 
-         public void SetActive(bool active)
 
-         {
 
-             if (m_GameObject)
 
-             {
 
-                 m_GameObject.SetActive(active);
 
-             }
 
-         }
 
-         public void SetBackground(ImageStyle imageStyle)
 
-         {
 
-             ChartHelper.SetBackground(m_Background, imageStyle);
 
-         }
 
-     }
 
- }
 
 
  |