/// <summary>
/// <para>Return the current MouseState.</para>
/// </summary>
/// <param name="id"></param>
protected virtual PointerInputModule.MouseState GetMousePointerEventData(int id)
{
PointerEventData data1;
bool pointerData = this.GetPointerData(-1, out data1, true);
data1.Reset();
if (pointerData)
{
data1.position = (Vector2)Input.mousePosition;
}
Vector2 mousePosition = (Vector2)Input.mousePosition;
data1.delta = mousePosition - data1.position;
data1.position = mousePosition;
data1.scrollDelta = Input.mouseScrollDelta;
data1.button = PointerEventData.InputButton.Left;
this.eventSystem.RaycastAll(data1, this.m_RaycastResultCache);
RaycastResult firstRaycast = BaseInputModule.FindFirstRaycast(this.m_RaycastResultCache);
data1.pointerCurrentRaycast = firstRaycast;
this.m_RaycastResultCache.Clear();
PointerEventData data2;
this.GetPointerData(-2, out data2, true);
this.CopyFromTo(data1, data2);
data2.button = PointerEventData.InputButton.Right;
PointerEventData data3;
this.GetPointerData(-3, out data3, true);
this.CopyFromTo(data1, data3);
data3.button = PointerEventData.InputButton.Middle;
this.m_MouseState.SetButtonState(PointerEventData.InputButton.Left, PointerInputModule.StateForMouseButton(0), data1);
this.m_MouseState.SetButtonState(PointerEventData.InputButton.Right, PointerInputModule.StateForMouseButton(1), data2);
this.m_MouseState.SetButtonState(PointerEventData.InputButton.Middle, PointerInputModule.StateForMouseButton(2), data3);
return(this.m_MouseState);
}