public void OnValidate() { for (int i = 0; i < transform.childCount; i++) { GSelectable child = transform.GetChild(i).GetComponent <GSelectable>(); if (child) { child.isSelected = i == _currentIndex; } } }
//call from GSelectable public void OnChildSelected(GSelectable selected) { for (int i = 0; i < transform.childCount; i++) { GSelectable child = transform.GetChild(i).GetComponent <GSelectable>(); if (child) { if (child == selected) { currentIndex = i; } else { child.isSelected = false; } } } if (onSelectedChange != null) { onSelectedChange(currentIndex); } }