Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit bd15739

Browse files
Trying to fix the ripple effect
1 parent 1dac0e2 commit bd15739

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/TreeControl.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,13 @@ private void ToggleParentFolders(int idx, TreeNode node, bool isChecked)
295295

296296
Debug.LogFormat("Ripple CheckState index:{0} level:{1}", idx, node.Level);
297297

298-
for (var i = idx - 1; i > 0 && nodes[i].Level == node.Level; i--)
298+
for (var i = idx - 1; i > 0 && node.Level <= nodes[i].Level; i--)
299299
{
300+
if (node.Level < nodes[i].Level)
301+
{
302+
continue;
303+
}
304+
300305
firstSiblingIndex = i;
301306
var siblingIsChecked = nodes[i].CheckState == CheckState.Checked;
302307
Debug.LogFormat("Previous Sibling - idx:{0} name:{1} checked:{2}", i, nodes[i].Path, siblingIsChecked);
@@ -310,8 +315,13 @@ private void ToggleParentFolders(int idx, TreeNode node, bool isChecked)
310315

311316
//if (siblingsInSameState)
312317
{
313-
for (var i = idx + 1; i < nodes.Count && nodes[i].Level == node.Level; i++)
318+
for (var i = idx + 1; i < nodes.Count && node.Level <= nodes[i].Level; i++)
314319
{
320+
if (node.Level < nodes[i].Level)
321+
{
322+
continue;
323+
}
324+
315325
var siblingIsChecked = nodes[i].CheckState == CheckState.Checked;
316326
Debug.LogFormat("Next Siblings - idx:{0} name:{1} checked:{2}", i, nodes[i].Path, siblingIsChecked);
317327
}

0 commit comments

Comments
 (0)