private void OnItemClick(JMRUITertiaryButton currentTertaryButton) { if (prevTertaryButton != currentTertaryButton) { if (prevTertaryButton != null) { prevTertaryButton.IsOn = false; } currentTertaryButton.IsOn = true; } else { if (allowSwitchOff) { currentTertaryButton.IsOn = !currentTertaryButton.IsOn; } } prevTertaryButton = currentTertaryButton; }
protected override void OnEnable() { base.OnEnable(); tertaryButtons.Clear(); JMRUITertiaryButton tempTertaryButton = null; bool anyTertaryButtonOn = false; int i = 0; foreach (RectTransform item in content) { JMRUITertiaryButton tertaryButton = item.GetComponent <JMRUITertiaryButton>(); if (tertaryButton) { if (i == 0) { tempTertaryButton = tertaryButton; } if (tertaryButton.IsOn && !anyTertaryButtonOn) { anyTertaryButtonOn = true; tempTertaryButton = tertaryButton; } else if (anyTertaryButtonOn) { tertaryButton.IsOn = false; } tertaryButton.parentClickHandler = OnItemClick; tertaryButtons.Add(tertaryButton); i++; } } if (tempTertaryButton != null) { if (!anyTertaryButtonOn && !allowSwitchOff) { tempTertaryButton.IsOn = true; } prevTertaryButton = tempTertaryButton; } }