86 lines
3.0 KiB
C#
86 lines
3.0 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace XCharts.Runtime
|
|
{
|
|
[Serializable]
|
|
public class VisualMapTheme : ComponentTheme
|
|
{
|
|
[SerializeField] protected float m_BorderWidth;
|
|
[SerializeField] protected Color32 m_BorderColor;
|
|
[SerializeField] protected Color32 m_BackgroundColor;
|
|
[SerializeField][Range(10, 50)] protected float m_TriangeLen = 20f;
|
|
|
|
/// <summary>
|
|
/// the width of border.
|
|
/// |边框线宽。
|
|
/// </summary>
|
|
public float borderWidth
|
|
{
|
|
get { return m_BorderWidth; }
|
|
set { if (PropertyUtil.SetStruct(ref m_BorderWidth, value)) SetVerticesDirty(); }
|
|
}
|
|
/// <summary>
|
|
/// the color of dataZoom border.
|
|
/// |边框颜色。
|
|
/// </summary>
|
|
public Color32 borderColor
|
|
{
|
|
get { return m_BorderColor; }
|
|
set { if (PropertyUtil.SetColor(ref m_BorderColor, value)) SetComponentDirty(); }
|
|
}
|
|
|
|
/// <summary>
|
|
/// the background color of visualmap.
|
|
/// |背景颜色。
|
|
/// </summary>
|
|
public Color32 backgroundColor
|
|
{
|
|
get { return m_BackgroundColor; }
|
|
set { if (PropertyUtil.SetColor(ref m_BackgroundColor, value)) SetComponentDirty(); }
|
|
}
|
|
/// <summary>
|
|
/// 可视化组件的调节三角形边长。
|
|
/// </summary>
|
|
/// <value></value>
|
|
public float triangeLen
|
|
{
|
|
get { return m_TriangeLen; }
|
|
set { if (PropertyUtil.SetStruct(ref m_TriangeLen, value < 0 ? 1f : value)) SetVerticesDirty(); }
|
|
}
|
|
|
|
public VisualMapTheme(ThemeType theme) : base(theme)
|
|
{
|
|
m_BorderWidth = XCSettings.visualMapBorderWidth;
|
|
m_TriangeLen = XCSettings.visualMapTriangeLen;
|
|
m_FontSize = XCSettings.fontSizeLv4;
|
|
switch (theme)
|
|
{
|
|
case ThemeType.Default:
|
|
m_TextColor = ColorUtil.GetColor("#333");
|
|
m_BorderColor = ColorUtil.GetColor("#ccc");
|
|
m_BackgroundColor = ColorUtil.clearColor32;
|
|
break;
|
|
case ThemeType.Light:
|
|
m_TextColor = ColorUtil.GetColor("#333");
|
|
m_BorderColor = ColorUtil.GetColor("#ccc");
|
|
m_BackgroundColor = ColorUtil.clearColor32;
|
|
break;
|
|
case ThemeType.Dark:
|
|
m_TextColor = ColorUtil.GetColor("#B9B8CE");
|
|
m_BorderColor = ColorUtil.GetColor("#ccc");
|
|
m_BackgroundColor = ColorUtil.clearColor32;
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void Copy(VisualMapTheme theme)
|
|
{
|
|
base.Copy(theme);
|
|
m_TriangeLen = theme.triangeLen;
|
|
m_BorderWidth = theme.borderWidth;
|
|
m_BorderColor = theme.borderColor;
|
|
m_BackgroundColor = theme.backgroundColor;
|
|
}
|
|
}
|
|
} |