public override void OnPointerDown(PointerEventData e) { Events.instance.Raise(new PointerDownEvent(this, e)); if (!e.LeftClicked() && SelectionHandler.Selected.Count == 0) { List <Laborer> laborers = ObjectPool.GetActiveInstances <Laborer> (); Laborer available = laborers.Find(x => x.Idle); if (available != null) { available.OnOverrideSelect(this); } } }