/// <summary> /// MouseOut event that is wired into the event system. /// </summary> /// <param name="eventData">Event system data</param> public void MouseOut(BaseEventData eventData) { if (IsLeftMouseDown) { IsLeftMouseDown = false; if (OnMouseUp != null) { OnMouseUp(MouseButton.Left); } } if (IsRightMouseDown) { IsRightMouseDown = false; if (OnMouseUp != null) { OnMouseUp(MouseButton.Right); } } if (IsMiddleMouseDown) { IsMiddleMouseDown = false; if (OnMouseUp != null) { OnMouseUp(MouseButton.Middle); } } IsMouseOver = false; TooltipManager.PopDown(); if (OnMouseOut != null) { OnMouseOut(); } AfterEvent(); }
/// <summary> /// Updates which object is currently selected. /// </summary> /// <param name="selection">The Selectable component of the new selected GameObject.</param> public static void UpdateSelection(Selectable selection) { lock (globalSelectionLock) { if (selection == globalSelection) { return; } var oldSelection = globalSelection; globalSelection = selection; if (oldSelection != null) { try { oldSelection.Deselect(); } catch (Exception e) { GameLogger.Warning("Exception during Deselect. Object = {0}. Ex = {1}.", oldSelection.GetType().Name, e); } } if (globalSelection != null) { try { globalSelection.Select(); } catch (Exception e) { GameLogger.Warning("Exception during Select. Object = {0}. Ex = {1}.", oldSelection.GetType().Name, e); } } TooltipManager.PopDown(); } }