/// <inheritdoc/> public override bool ProcessMouse(MouseScreenObjectState state) { if (!IsVisible) { return(false); } foreach (SadConsole.Components.IComponent component in ComponentsMouse.ToArray()) { component.ProcessMouse(this, state, out bool isHandled); if (isHandled) { return(true); } } if (!UseMouse) { return(false); } if (state.IsOnScreenObject) { if (IsMouseOver != true) { IsMouseOver = true; OnMouseEnter(state); } OnMouseMove(state); if (state.Mouse.LeftClicked) { OnMouseLeftClicked(state); } if (state.Mouse.RightClicked) { OnRightMouseClicked(state); } return(true); } if (IsMouseOver) { IsMouseOver = false; OnMouseExit(state); } return(false); }
/// <summary> /// Processes the mouse. /// </summary> /// <param name="state">The mouse state related to this console.</param> /// <returns>True when the mouse is over this console and processing should stop.</returns> public virtual bool ProcessMouse(MouseConsoleState state) { if (!IsVisible) { return(false); } foreach (var component in ComponentsMouse.ToArray()) { component.ProcessMouse(this, state, out bool isHandled); if (isHandled) { return(true); } } if (!UseMouse) { return(false); } if (state.IsOnConsole) { if (IsMouseOver != true) { IsMouseOver = true; OnMouseEnter(state); } OnMouseMove(state); if (state.Mouse.LeftClicked) { OnMouseLeftClicked(state); } if (state.Mouse.RightClicked) { OnRightMouseClicked(state); } return(true); } if (IsMouseOver) { IsMouseOver = false; OnMouseExit(state); } return(false); }
public override bool ProcessMouse(MouseConsoleState state) { if (!IsVisible) { return(false); } foreach (var component in ComponentsMouse.ToArray()) { component.ProcessMouse(this, state, out bool isHandled); if (isHandled) { return(true); } } return(false); }