protected virtual RewiredPointerInputModule.MouseState GetMousePointerEventData( int playerId, int mouseIndex) { IMouseInputSource mouseInputSource = this.GetMouseInputSource(playerId, mouseIndex); if (mouseInputSource == null) { return((RewiredPointerInputModule.MouseState)null); } PlayerPointerEventData data1; bool pointerData = this.GetPointerData(playerId, mouseIndex, -1, out data1, true, PointerEventType.Mouse); ((AbstractEventData)data1).Reset(); if (pointerData) { data1.set_position(mouseInputSource.get_screenPosition()); } Vector2 screenPosition = mouseInputSource.get_screenPosition(); if (mouseInputSource.get_locked()) { data1.set_position(new Vector2(-1f, -1f)); data1.set_delta(Vector2.get_zero()); } else { data1.set_delta(Vector2.op_Subtraction(screenPosition, data1.get_position())); data1.set_position(screenPosition); } data1.set_scrollDelta(mouseInputSource.get_wheelDelta()); data1.set_button((PointerEventData.InputButton) 0); this.get_eventSystem().RaycastAll((PointerEventData)data1, (List <RaycastResult>) this.m_RaycastResultCache); RaycastResult firstRaycast = BaseInputModule.FindFirstRaycast((List <RaycastResult>) this.m_RaycastResultCache); data1.set_pointerCurrentRaycast(firstRaycast); ((List <RaycastResult>) this.m_RaycastResultCache).Clear(); PlayerPointerEventData data2; this.GetPointerData(playerId, mouseIndex, -2, out data2, true, PointerEventType.Mouse); this.CopyFromTo((PointerEventData)data1, (PointerEventData)data2); data2.set_button((PointerEventData.InputButton) 1); PlayerPointerEventData data3; this.GetPointerData(playerId, mouseIndex, -3, out data3, true, PointerEventType.Mouse); this.CopyFromTo((PointerEventData)data1, (PointerEventData)data3); data3.set_button((PointerEventData.InputButton) 2); for (int index = 3; index < mouseInputSource.get_buttonCount(); ++index) { PlayerPointerEventData data4; this.GetPointerData(playerId, mouseIndex, index - 2147483520, out data4, true, PointerEventType.Mouse); this.CopyFromTo((PointerEventData)data1, (PointerEventData)data4); data4.set_button((PointerEventData.InputButton) - 1); } this.m_MouseState.SetButtonState(0, this.StateForMouseButton(playerId, mouseIndex, 0), data1); this.m_MouseState.SetButtonState(1, this.StateForMouseButton(playerId, mouseIndex, 1), data2); this.m_MouseState.SetButtonState(2, this.StateForMouseButton(playerId, mouseIndex, 2), data3); for (int index = 3; index < mouseInputSource.get_buttonCount(); ++index) { PlayerPointerEventData data4; this.GetPointerData(playerId, mouseIndex, index - 2147483520, out data4, false, PointerEventType.Mouse); this.m_MouseState.SetButtonState(index, this.StateForMouseButton(playerId, mouseIndex, index), data4); } return(this.m_MouseState); }