private void OnToggleChange(Toggle toggle, int bitIndex) { if (avoidToggleChange) { return; } if (toggle.isOn) { newFilter.Set(bitIndex); } else { newFilter.Remove(bitIndex); } if (lastToggle == toggle && doubleClickTime >= Time.time) { avoidToggleChange = true; if (newFilter.IsOnlySet(bitIndex)) { foreach (var t in toggles) { t.isOn = true; } newFilter.ResetToDefault(); } else { foreach (var t in toggles) { t.isOn = false; } toggle.isOn = true; newFilter.RemoveAll(); newFilter.Set(bitIndex); } avoidToggleChange = false; } lastToggle = toggle; doubleClickTime = Time.time + 0.25f; UpdateSitesMask(); }