protected virtual void Update() { // See if the timer can be incremented var set = false; if (Selectable.GetIsSelected(RawSelection) == true) { if (RequireFinger == false || Selectable.SelectingFinger != null) { seconds += Time.deltaTime; if (seconds >= Threshold) { set = true; } } } // If this is the first frame of set, call down if (set == true && lastSet == false) { if (onSelectableDown != null) { onSelectableDown.Invoke(Selectable); } } // Call set every time if set if (set == true) { if (onSelectableSet != null) { onSelectableSet.Invoke(Selectable); } } // Store last value lastSet = set; }