void previousToggle() { if (m_FocusedToggle == null || m_Toggles.Count <= 1) { return; } //Find the current toggle index int currentToggleIndex = 0; int toggleCount = m_Toggles.Count; for (int i = 0; i < toggleCount; i++) { if (m_Toggles[i] == m_FocusedToggle) { currentToggleIndex = i; break; } } //Loop until we find the next or until we've made one lap around for(int i = 0; i < toggleCount; i++) { if (currentToggleIndex - 1 < 0) { currentToggleIndex = toggleCount - 1; } else { currentToggleIndex--; } if (m_Toggles[currentToggleIndex].isInteractive == true) { m_FocusedToggle.setFocus(false); m_FocusedToggle = m_Toggles[currentToggleIndex]; m_FocusedToggle.setFocus(true); return; } } }
void nextToggle() { if (m_FocusedToggle == null || m_Toggles.Count <= 1) { return; } int currentToggleIndex = 0; int toggleCount = m_Toggles.Count; for (int i = 0; i < toggleCount; i++) { if (m_Toggles[i] == m_FocusedToggle) { currentToggleIndex = i; break; } } for(int i = 0; i < toggleCount; i++) { if (currentToggleIndex + 1 >= m_Toggles.Count) { currentToggleIndex = 0; } else { currentToggleIndex++; } if (m_Toggles[currentToggleIndex].isInteractive == true) { m_FocusedToggle.setFocus(false); m_FocusedToggle = m_Toggles[currentToggleIndex]; m_FocusedToggle.setFocus(true); break; } } }
UIToggle3 handle3DToggles(Camera aCamera) { int layerMask = 1 << 9; RaycastHit hit; Ray ray = aCamera.ScreenPointToRay(Input.mousePosition); UIToggle3 toggle = null; if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask)) { toggle = hit.collider.GetComponent<UIToggle3>(); if (toggle != null) { if (OnLookerUtils.anyMouseButtonDown()) { if (m_FocusedToggle != null) { if (m_FocusedToggle != toggle && toggle.isInteractive == true) { m_FocusedToggle.setFocus(false); m_FocusedToggle = toggle; m_FocusedToggle.setFocus(true); } } else { if (toggle.isInteractive == true) { m_FocusedToggle = toggle; m_FocusedToggle.setFocus(true); } } } toggle.processEvents(); } } return toggle; }
public void registerToggle(UIToggle aToggle) { if (m_Toggles.Contains(aToggle) || aToggle == null) { return; } if (aToggle.isInteractive == true && m_Toggles.Count == 0 && m_AllowClickOff == false) { m_FocusedToggle = aToggle; m_FocusedToggle.setFocus(true); } m_Toggles.Add(aToggle); }
UIToggle2 handle2DToggles() { UIToggle2 uiToggle2 = null; bool toggleInFocus = toggleHitTest(out uiToggle2); if (toggleInFocus == true) { if (OnLookerUtils.anyMouseButtonDown()) { //A toggle exists if (m_FocusedToggle != null) { //Verify they arent the same //Verify that the new toggle is interactive if (m_FocusedToggle != uiToggle2 && uiToggle2.isInteractive) { m_FocusedToggle.setFocus(false); m_FocusedToggle = uiToggle2; m_FocusedToggle.setFocus(true); } } else { //Verify the new toggle is interactive if (uiToggle2.isInteractive) { m_FocusedToggle = uiToggle2; m_FocusedToggle.setFocus(true); } } } uiToggle2.processEvents(); } return uiToggle2; }