@@ -23,7 +23,7 @@ public abstract class Tree
23
23
[ SerializeField ] public string PathIgnoreRoot ;
24
24
[ SerializeField ] public string PathSeparator = "/" ;
25
25
[ SerializeField ] public bool DisplayRootNode = true ;
26
- [ SerializeField ] public bool Selectable = false ;
26
+ [ SerializeField ] public bool Checkable = false ;
27
27
[ SerializeField ] public GUIStyle FolderStyle ;
28
28
[ SerializeField ] public GUIStyle TreeNodeStyle ;
29
29
[ SerializeField ] public GUIStyle ActiveTreeNodeStyle ;
@@ -70,7 +70,7 @@ public void Load(IEnumerable<ITreeData> data, string title)
70
70
Label = title ,
71
71
Level = - 1 + displayRootLevel ,
72
72
IsFolder = true ,
73
- Selectable = Selectable
73
+ Checkable = Checkable
74
74
} ;
75
75
SetNodeIcon ( titleNode ) ;
76
76
nodes . Add ( titleNode ) ;
@@ -107,7 +107,7 @@ public void Load(IEnumerable<ITreeData> data, string title)
107
107
Label = label ,
108
108
Level = i + displayRootLevel ,
109
109
IsFolder = isFolder ,
110
- Selectable = Selectable
110
+ Checkable = Checkable
111
111
} ;
112
112
113
113
if ( node . IsActive )
@@ -166,9 +166,9 @@ public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = nul
166
166
{
167
167
ToggleNodeVisibility ( 0 , titleNode ) ;
168
168
}
169
- else if ( renderResult == TreeNodeRenderResult . SelectionChange )
169
+ else if ( renderResult == TreeNodeRenderResult . CheckChange )
170
170
{
171
- ToggleNodeSelection ( 0 , titleNode ) ;
171
+ ToggleNodeCheck ( 0 , titleNode ) ;
172
172
}
173
173
174
174
RequiresRepaint = HandleInput ( rect , titleNode , 0 ) ;
@@ -192,9 +192,9 @@ public Rect Render(Rect rect, Vector2 scroll, Action<TreeNode> singleClick = nul
192
192
{
193
193
ToggleNodeVisibility ( i , node ) ;
194
194
}
195
- else if ( renderResult == TreeNodeRenderResult . SelectionChange )
195
+ else if ( renderResult == TreeNodeRenderResult . CheckChange )
196
196
{
197
- ToggleNodeSelection ( i , node ) ;
197
+ ToggleNodeCheck ( i , node ) ;
198
198
}
199
199
200
200
if ( node . Level < level )
@@ -248,24 +248,26 @@ public void Blur()
248
248
RequiresRepaint = true ;
249
249
}
250
250
251
- private void ToggleNodeSelection ( int idx , TreeNode node )
251
+ private void ToggleNodeCheck ( int idx , TreeNode node )
252
252
{
253
253
if ( node . IsFolder )
254
254
{
255
255
256
256
}
257
257
else
258
258
{
259
- switch ( node . SelectionState )
259
+ switch ( node . CheckState )
260
260
{
261
- case SelectionState . Unselected :
262
- node . SelectionState = SelectionState . Selected ;
261
+ case CheckState . Empty :
262
+ node . CheckState = CheckState . Checked ;
263
263
break ;
264
264
265
- case SelectionState . Selected :
266
- node . SelectionState = SelectionState . Unselected ;
265
+ case CheckState . Checked :
266
+ node . CheckState = CheckState . Empty ;
267
267
break ;
268
268
}
269
+
270
+ Debug . LogFormat ( "Ripple CheckState index:{0} level:{1}" , idx , node . Level ) ;
269
271
}
270
272
}
271
273
@@ -444,8 +446,8 @@ public class TreeNode
444
446
public bool IsHidden ;
445
447
public bool IsActive ;
446
448
public GUIContent content ;
447
- public bool Selectable ;
448
- public SelectionState SelectionState ;
449
+ public bool Checkable ;
450
+ public CheckState CheckState ;
449
451
450
452
[ NonSerialized ] public Texture2D Icon ;
451
453
@@ -462,9 +464,9 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
462
464
return renderResult ;
463
465
464
466
var fillRect = rect ;
465
- var nodeStartX = Level * indentation * ( Selectable ? 2 : 1 ) ;
467
+ var nodeStartX = Level * indentation * ( Checkable ? 2 : 1 ) ;
466
468
467
- if ( Selectable && Level > 0 )
469
+ if ( Checkable && Level > 0 )
468
470
{
469
471
nodeStartX += 2 * Level ;
470
472
}
@@ -504,7 +506,7 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
504
506
}
505
507
}
506
508
507
- if ( Selectable )
509
+ if ( Checkable )
508
510
{
509
511
data += string . Format ( "SelectStart: {0} " , nodeStartX ) ;
510
512
@@ -515,11 +517,11 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
515
517
var selectionStyle = GUI . skin . toggle ;
516
518
var selectionValue = false ;
517
519
518
- if ( SelectionState == SelectionState . Selected )
520
+ if ( CheckState == CheckState . Checked )
519
521
{
520
522
selectionValue = true ;
521
523
}
522
- else if ( SelectionState == SelectionState . Mixed )
524
+ else if ( CheckState == CheckState . Mixed )
523
525
{
524
526
selectionStyle = Styles . ToggleMixedStyle ;
525
527
}
@@ -530,7 +532,7 @@ public TreeNodeRenderResult Render(Rect rect, float indentation, bool isSelected
530
532
}
531
533
if ( EditorGUI . EndChangeCheck ( ) )
532
534
{
533
- renderResult = TreeNodeRenderResult . SelectionChange ;
535
+ renderResult = TreeNodeRenderResult . CheckChange ;
534
536
}
535
537
}
536
538
@@ -605,13 +607,13 @@ public enum TreeNodeRenderResult
605
607
{
606
608
None ,
607
609
VisibilityChange ,
608
- SelectionChange
610
+ CheckChange
609
611
}
610
612
611
- public enum SelectionState
613
+ public enum CheckState
612
614
{
613
- Unselected ,
614
- Selected ,
615
+ Empty ,
616
+ Checked ,
615
617
Mixed
616
618
}
617
619
}
0 commit comments