1- using UnityEditor ;
2- using UnityEngine ;
3- using UnityEngine . UIElements ;
1+ using UnityEngine . UIElements ;
42
53namespace GBG . EditorMessages . Editor
64{
75 public class MessageDetailsElement : VisualElement
86 {
97 private readonly VisualElement _typeToggleContainer ;
10- private readonly Image _messageToggle ;
8+ private readonly MessageDetailsTabElement _messageTab ;
9+ private readonly MessageDetailsTabElement _contextTab ;
10+ private readonly MessageDetailsTabElement _customDataTab ;
1111 private readonly Label _detailsLabel ;
1212
1313
@@ -22,14 +22,12 @@ public MessageDetailsElement()
2222
2323 #region Details Type Toggle
2424
25- Color inactiveColor = EditorGUIUtility . isProSkin ? new Color ( 1f , 1f , 1f , 0.15f ) : new Color ( 1f , 1f , 1f , 0.26f ) ;
26-
2725 // Type Toggle Container
2826 _typeToggleContainer = new VisualElement
2927 {
3028 style =
3129 {
32- backgroundColor = inactiveColor ,
30+ backgroundColor = EditorMessageUtility . InactiveColor ,
3331 width = iconSize + 2 ,
3432 paddingLeft = 1 ,
3533 //paddingRight = 1,
@@ -39,33 +37,17 @@ public MessageDetailsElement()
3937 } ;
4038 Add ( _typeToggleContainer ) ;
4139
42- MessageDetailsTabElement toggle1 = new MessageDetailsTabElement
43- {
44- style =
45- {
46- height = iconSize ,
47- }
48- } ;
49- _typeToggleContainer . Add ( toggle1 ) ;
40+ _messageTab = new MessageDetailsTabElement ( EditorMessageUtility . GetInfoIcon ( ) ,
41+ "Message" , OnClickMessageTab ) ;
42+ _typeToggleContainer . Add ( _messageTab ) ;
5043
51- MessageDetailsTabElement toggle2 = new MessageDetailsTabElement
52- {
53- style =
54- {
55- height = iconSize ,
56- backgroundColor = EditorGUIUtility . isProSkin ? new Color ( 0.22f , 0.22f , 0.22f , 1f ) : new Color ( 0.76f , 0.76f , 0.76f , 1f ) ,
57- }
58- } ;
59- _typeToggleContainer . Add ( toggle2 ) ;
44+ _contextTab = new MessageDetailsTabElement ( EditorMessageUtility . GetContextIcon ( ) ,
45+ "Context" , OnClickContextTab ) ;
46+ _typeToggleContainer . Add ( _contextTab ) ;
6047
61- MessageDetailsTabElement toggle3 = new MessageDetailsTabElement
62- {
63- style =
64- {
65- height = iconSize ,
66- }
67- } ;
68- _typeToggleContainer . Add ( toggle3 ) ;
48+ _customDataTab = new MessageDetailsTabElement ( EditorMessageUtility . GetCustomDataIcon ( ) ,
49+ "Custom Data" , OnClickCustomDataTab ) ;
50+ _typeToggleContainer . Add ( _customDataTab ) ;
6951
7052 #endregion
7153
@@ -83,13 +65,7 @@ public MessageDetailsElement()
8365 Add ( detailsContainer ) ;
8466
8567 // Message Details Scroll
86- ScrollView detailsScrollView = new ScrollView ( ScrollViewMode . Vertical )
87- {
88- style =
89- {
90- //flexGrow = 1,
91- }
92- } ;
68+ ScrollView detailsScrollView = new ScrollView ( ScrollViewMode . Vertical ) ;
9369 detailsContainer . Add ( detailsScrollView ) ;
9470
9571 // Message Details Label
@@ -112,5 +88,27 @@ public void SetMessage(Message message)
11288 {
11389 _detailsLabel . text = message ? . Content ;
11490 }
91+
92+
93+ private void OnClickMessageTab ( )
94+ {
95+ _messageTab . style . backgroundColor = EditorMessageUtility . ActiveColor ;
96+ _contextTab . style . backgroundColor = EditorMessageUtility . InactiveColor ;
97+ _customDataTab . style . backgroundColor = EditorMessageUtility . InactiveColor ;
98+ }
99+
100+ private void OnClickContextTab ( )
101+ {
102+ _messageTab . style . backgroundColor = EditorMessageUtility . InactiveColor ;
103+ _contextTab . style . backgroundColor = EditorMessageUtility . ActiveColor ;
104+ _customDataTab . style . backgroundColor = EditorMessageUtility . InactiveColor ;
105+ }
106+
107+ private void OnClickCustomDataTab ( )
108+ {
109+ _messageTab . style . backgroundColor = EditorMessageUtility . InactiveColor ;
110+ _contextTab . style . backgroundColor = EditorMessageUtility . InactiveColor ;
111+ _customDataTab . style . backgroundColor = EditorMessageUtility . ActiveColor ;
112+ }
115113 }
116114}
0 commit comments