using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EventSystem.Framework.FunctionEvents
{
///
/// Used to handle mouse interactions with button clicks and scrolling the mouse wheel.
///
public class MouseButtonEvents
{
///
/// Function that runs when the user left clicks.
///
public functionEvent onLeftClick;
///
/// Function that runs when the user right clicks.
///
public functionEvent onRightClick;
///
/// Function that runs when the user scrolls the mouse wheel.
///
public functionEvent onMouseScroll;
///
/// A constructor used to set a single function to a mouse button.
///
///
/// If true the function is set to the left click. If false the function is set to the right click.
public MouseButtonEvents(functionEvent clickFunction, bool leftClick)
{
if (leftClick == true) this.onLeftClick = clickFunction;
else this.onRightClick = clickFunction;
}
///
/// A constructor used to map functions to mouse clicks.
///
/// A function to be ran when the mouse left clicks this position.
/// A function to be ran when the mouse right clicks this position.
public MouseButtonEvents(functionEvent OnLeftClick, functionEvent OnRightClick)
{
this.onLeftClick = OnLeftClick;
this.onRightClick = OnRightClick;
}
///
/// A constructor used to map functions to mouse clicks and scrolling the mouse wheel.
///
/// A function to be ran when the mouse left clicks this position.
/// A function to be ran when the mouse right clicks this position.
/// A function to be ran when the user scrolls the mouse
public MouseButtonEvents(functionEvent OnLeftClick,functionEvent OnRightClick, functionEvent OnMouseScroll)
{
this.onLeftClick = OnLeftClick;
this.onRightClick = OnRightClick;
this.onMouseScroll = OnMouseScroll;
}
}
}