chore: initial commit
This commit is contained in:
71
Assets/Feel/MMTools/Accessories/MMActivation/MMOnMouse.cs
Normal file
71
Assets/Feel/MMTools/Accessories/MMActivation/MMOnMouse.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
namespace MoreMountains.Tools
|
||||
{
|
||||
/// <summary>
|
||||
/// Attach this class to a collider and it'll let you trigger events when the user clicks/drags/enters/etc that collider
|
||||
/// </summary>
|
||||
public class MMOnMouse : MonoBehaviour
|
||||
{
|
||||
/// OnMouseDown is called when the user has pressed the mouse button while over the Collider.
|
||||
[Tooltip("OnMouseDown is called when the user has pressed the mouse button while over the Collider.")]
|
||||
public UnityEvent OnMouseDownEvent;
|
||||
/// OnMouseDrag is called when the user has clicked on a Collider and is still holding down the mouse.
|
||||
[Tooltip("OnMouseDrag is called when the user has clicked on a Collider and is still holding down the mouse.")]
|
||||
public UnityEvent OnMouseDragEvent;
|
||||
/// Called when the mouse enters the Collider.
|
||||
[Tooltip("Called when the mouse enters the Collider.")]
|
||||
public UnityEvent OnMouseEnterEvent;
|
||||
/// Called when the mouse is not any longer over the Collider.
|
||||
[Tooltip("Called when the mouse is not any longer over the Collider.")]
|
||||
public UnityEvent OnMouseExitEvent;
|
||||
/// Called every frame while the mouse is over the Collider.
|
||||
[Tooltip("Called every frame while the mouse is over the Collider.")]
|
||||
public UnityEvent OnMouseOverEvent;
|
||||
/// OnMouseUp is called when the user has released the mouse button.
|
||||
[Tooltip("OnMouseUp is called when the user has released the mouse button.")]
|
||||
public UnityEvent OnMouseUpEvent;
|
||||
/// OnMouseUpAsButton is only called when the mouse is released over the same Collider as it was pressed.
|
||||
[Tooltip("OnMouseUpAsButton is only called when the mouse is released over the same Collider as it was pressed.")]
|
||||
public UnityEvent OnMouseUpAsButtonEvent;
|
||||
|
||||
protected virtual void OnMouseDown()
|
||||
{
|
||||
OnMouseDownEvent.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnMouseDrag()
|
||||
{
|
||||
OnMouseDragEvent.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnMouseEnter()
|
||||
{
|
||||
OnMouseEnterEvent.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnMouseExit()
|
||||
{
|
||||
OnMouseExitEvent.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnMouseOver()
|
||||
{
|
||||
OnMouseOverEvent.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnMouseUp()
|
||||
{
|
||||
OnMouseUpEvent.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnMouseUpAsButton()
|
||||
{
|
||||
OnMouseUpAsButtonEvent.Invoke();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user