64 lines
1.5 KiB
C#
64 lines
1.5 KiB
C#
using UnityEngine.EventSystems;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace HeathenEngineering.SteamApi.Foundation.UI
|
|
{
|
|
public class SteamUserIconButton : SteamUserFullIcon, IPointerClickHandler, IEventSystemHandler
|
|
{
|
|
[FormerlySerializedAs("OnLeftClick")]
|
|
public UnityPersonaEvent onLeftClick;
|
|
|
|
[FormerlySerializedAs("OnMiddleClick")]
|
|
public UnityPersonaEvent onMiddleClick;
|
|
|
|
[FormerlySerializedAs("OnRightClick")]
|
|
public UnityPersonaEvent onRightClick;
|
|
|
|
[FormerlySerializedAs("OnLeftDoubleClick")]
|
|
public UnityPersonaEvent onLeftDoubleClick;
|
|
|
|
[FormerlySerializedAs("OnMiddleDoubleClick")]
|
|
public UnityPersonaEvent onMiddleDoubleClick;
|
|
|
|
[FormerlySerializedAs("OnRightDoubleClick")]
|
|
public UnityPersonaEvent onRightDoubleClick;
|
|
|
|
public void OnPointerClick(PointerEventData eventData)
|
|
{
|
|
if (eventData.button == PointerEventData.InputButton.Left)
|
|
{
|
|
if (eventData.clickCount > 1)
|
|
{
|
|
onLeftDoubleClick.Invoke(userData);
|
|
}
|
|
else
|
|
{
|
|
onLeftClick.Invoke(userData);
|
|
}
|
|
}
|
|
else if (eventData.button == PointerEventData.InputButton.Right)
|
|
{
|
|
if (eventData.clickCount > 1)
|
|
{
|
|
onRightDoubleClick.Invoke(userData);
|
|
}
|
|
else
|
|
{
|
|
onRightClick.Invoke(userData);
|
|
}
|
|
}
|
|
else if (eventData.button == PointerEventData.InputButton.Middle)
|
|
{
|
|
if (eventData.clickCount > 1)
|
|
{
|
|
onMiddleDoubleClick.Invoke(userData);
|
|
}
|
|
else
|
|
{
|
|
onMiddleClick.Invoke(userData);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|