public void InvokeOnSelected(LeanSelect select) { if (onSelected != null) { onSelected.Invoke(); } if (OnAnySelected != null) { OnAnySelected.Invoke(select, this); } }
protected bool TrySelect(LeanSelectable selectable) { if (selectable != null && selectable.isActiveAndEnabled == true) { if (TryReselect(selectable) == true) { if (Selectables.Contains(selectable) == false) // NOTE: Property { switch (limit) { case LimitType.Unlimited: { } break; case LimitType.StopAtMax: { if (selectables.Count >= maxSelectables) { return(false); } } break; case LimitType.DeselectFirst: { if (selectables.Count > 0 && selectables.Count >= maxSelectables) { TryDeselect(selectables[0]); } } break; } } selectables.Add(selectable); if (onSelected != null) { onSelected.Invoke(selectable); } if (OnAnySelected != null) { OnAnySelected.Invoke(this, selectable); } selectable.InvokeOnSelected(this); return(true); } } // Nothing was selected? else { if (onNothing != null) { onNothing.Invoke(); } if (deselectWithNothing == true) { DeselectAll(); } } return(false); }