public void Select(LeanFinger finger, LeanSelectable selectable) { // Something was selected? if (selectable != null) { // Did we select a new LeanSelectable? if (selectable != CurrentSelectable) { // Deselect the current Deselect(); // Change current CurrentSelectable = selectable; // Call select event on current CurrentSelectable.Select(finger); } // Did we reselect the current LeanSelectable? else { switch (Reselect) { case ReselectType.Deselect: { Deselect(); } break; case ReselectType.DeselectAndSelect: { // Deselect the current Deselect(); // Change current CurrentSelectable = selectable; // Call select event on current CurrentSelectable.Select(finger); } break; case ReselectType.SelectAgain: { // Call select event on current CurrentSelectable.Select(finger); } break; } } } // Nothing was selected? else { // Deselect? if (AutoDeselect == true) { Deselect(); } } }
public void Select(LeanFinger finger, LeanSelectable selectable) { // Something was selected? if (selectable != null) { // Did we select a new LeanSelectable? if (selectable != CurrentSelectable) { // Deselect the current Deselect(); // Change current CurrentSelectable = selectable; // Call select event on current CurrentSelectable.Select(finger); } else { if (ToggleSelection == true) { Deselect(); } } } // Nothing was selected? else { // Deselect? if (AutoDeselect == true) { Deselect(); } } }
public void Select(LeanFinger finger, LeanSelectable selectable) { // Something was selected? if (selectable != null && selectable.isActiveAndEnabled == true) { if (CurrentSelectables == null) { CurrentSelectables = new List <LeanSelectable>(); } // Loop through all current selectables for (var i = CurrentSelectables.Count - 1; i >= 0; i--) { var currentSelectable = CurrentSelectables[i]; if (currentSelectable != null) { // Already selected? if (currentSelectable == selectable) { return; } } else { CurrentSelectables.RemoveAt(i); } } // Not selected yet, so select it CurrentSelectables.Add(selectable); selectable.Select(finger); } }
public void Select(LeanFinger finger, LeanSelectable selectable) { // Something was selected? if (selectable != null && selectable.isActiveAndEnabled == true) { if (selectable.HideWithFinger == true) { for (var i = CurrentSelectables.Count - 1; i >= 0; i--) { var currentSelectable = CurrentSelectables[i]; if (currentSelectable.HideWithFinger == true && currentSelectable.IsSelected == true) { return; } } } // Did we select a new LeanSelectable? if (IsSelected(selectable) == false) { // Deselect some if we have too many if (MaxSelectables > 0) { var extras = CurrentSelectables.Count - MaxSelectables + 1; for (var i = extras - 1; i >= 0; i--) { var currentSelectable = CurrentSelectables[i]; currentSelectable.Deselect(); CurrentSelectables.RemoveAt(i); } } // Add to selection and select CurrentSelectables.Add(selectable); selectable.Select(finger); } // Did we reselect the current LeanSelectable? else { switch (Reselect) { case ReselectType.Deselect: { selectable.Deselect(); CurrentSelectables.Remove(selectable); } break; case ReselectType.DeselectAndSelect: { // Change current selectable.Deselect(); // Call select event on current selectable.Select(finger); } break; case ReselectType.SelectAgain: { // Call select event on current selectable.Select(finger); } break; } } } // Nothing was selected? else { // Deselect? if (AutoDeselect == true) { DeselectAll(); } } }
public void Select(LeanFinger finger, LeanSelectable selectable) { // Something was selected? if (selectable != null && selectable.isActiveAndEnabled == true) { if (selectable.HideWithFinger == true) { foreach (var otherSelectable in LeanSelectable.Instances) { if (otherSelectable.HideWithFinger == true && otherSelectable.IsSelected == true) { return; } } } // Did we select a new LeanSelectable? if (selectable.IsSelected == false) { // Deselect some if we have too many if (MaxSelectables > 0) { LeanSelectable.Cull(MaxSelectables - 1); } // Select selectable.Select(finger); } // Did we reselect the current LeanSelectable? else { switch (Reselect) { case ReselectType.Deselect: { selectable.Deselect(); } break; case ReselectType.DeselectAndSelect: { selectable.Deselect(); selectable.Select(finger); } break; case ReselectType.SelectAgain: { selectable.Select(finger); } break; } } } // Nothing was selected? else { // Deselect? if (AutoDeselect == true) { DeselectAll(); } } }
public void Select(LeanFinger finger, LeanSelectable selectable) { //Debug.Log( "Select() finger = " + finger + ", selectable = " + selectable ); // Something was selected? if (selectable != null && selectable.isActiveAndEnabled == true) { if (selectable.HideWithFinger == true) { for (var i = LeanSelectable.Instances.Count - 1; i >= 0; i--) { var instance = LeanSelectable.Instances[i]; if (instance.HideWithFinger == true && instance.IsSelected == true) { return; } } } // Did we select a new LeanSelectable? if (selectable.IsSelected == false) { // Deselect some if we have too many if (MaxSelectables > 0) { LeanSelectable.Cull(MaxSelectables - 1); } // Select selectable.Select(finger); } // Did we reselect the current LeanSelectable? else { switch (Reselect) { case ReselectType.Deselect: { selectable.Deselect(); } break; case ReselectType.DeselectAndSelect: { selectable.Deselect(); selectable.Select(finger); } break; case ReselectType.SelectAgain: { selectable.Select(finger); } break; } } } // Nothing was selected? else { // Deselect? if (AutoDeselect == true) { DeselectAll(); } } }