AirControl  1.3.0
Open Source, Modular, and Extensible Flight Simulator For Deep Learning Research
SeriesDrawer.cs
1 /************************************************/
2 /* */
3 /* Copyright (c) 2018 - 2021 monitor1394 */
4 /* https://github.com/monitor1394 */
5 /* */
6 /************************************************/
7 
8 using UnityEditor;
9 using UnityEngine;
10 
11 namespace XCharts
12 {
13  [CustomPropertyDrawer(typeof(Series), true)]
14  public class SeriesDrawer : PropertyDrawer
15  {
16  private bool m_SeriesModuleToggle = false;
17 
18  public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
19  {
20  Rect drawRect = pos;
21  drawRect.height = EditorGUIUtility.singleLineHeight;
22  SerializedProperty m_Series = prop.FindPropertyRelative("m_Series");
23  m_SeriesModuleToggle = ChartEditorHelper.MakeListWithFoldout(ref drawRect,
24  m_Series, m_SeriesModuleToggle, true, true);
25  }
26 
27  public override float GetPropertyHeight(SerializedProperty prop, GUIContent label)
28  {
29  float height = 0;
30  if (m_SeriesModuleToggle)
31  {
32  SerializedProperty m_Data = prop.FindPropertyRelative("m_Series");
33  height += 1 * EditorGUIUtility.singleLineHeight + 1 * EditorGUIUtility.standardVerticalSpacing;
34  for (int i = 0; i < m_Data.arraySize; i++)
35  {
36  height += EditorGUI.GetPropertyHeight(m_Data.GetArrayElementAtIndex(i)) + EditorGUIUtility.standardVerticalSpacing;
37  }
38  }
39  height += 1 * EditorGUIUtility.singleLineHeight + 1 * EditorGUIUtility.standardVerticalSpacing;
40  return height;
41  }
42  }
43 }
XCharts.ChartEditorHelper
Definition: ChartEditorHelper.cs:14
XCharts.SeriesDrawer
Definition: SeriesDrawer.cs:14
XCharts
Definition: RewardChart.cs:14
XCharts.SerieSymbolType.Rect
@ Rect
正方形。可通过设置itemStyle的cornerRadius变成圆角矩形。