private void OnSelectedUsable(Usable usable)
 {
     this.usable = usable;
     if (usableUI != null)
     {
         usableUI.Hide();                   // Hide previous selection.
     }
     usableUI = (usable != null) ? usable.GetComponentInChildren <AbstractUsableUI>() : null;
     if (usableUI != null)
     {
         usableUI.Show(GetUseMessage());
         HideControls();
     }
     else
     {
         var oldElements = elements;
         SetElementsForUsable(usable);
         if (oldElements != elements)
         {
             var newElements = elements;
             elements = oldElements;
             HideControls();
             elements = newElements;
         }
         ShowControls();
     }
     lastInRange = !IsUsableInRange();
     UpdateDisplay(!lastInRange);
 }
 private void OnDeselectedUsable(Usable usable)
 {
     if (usableUI != null)
     {
         usableUI.Hide();
         usableUI = null;
     }
     HideControls();
     this.usable = null;
 }
 private void OnSelectedUsable(Usable usable)
 {
     this.usable = usable;
     usableUI    = (usable != null) ? usable.GetComponentInChildren <AbstractUsableUI>() : null;
     if (usableUI != null)
     {
         usableUI.Show(GetUseMessage());
     }
     else
     {
         ShowControls();
     }
     lastInRange = !IsUsableInRange();
     UpdateDisplay(!lastInRange);
 }