summaryrefslogtreecommitdiff
path: root/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-04-02 19:07:01 +0800
committerchai <chaifix@163.com>2021-04-02 19:07:01 +0800
commit6b25723ca33a657882588b2cc3a58101bb9d33e6 (patch)
treefa79c1e553f58586e4c659d0e71933f9f6ae3894 /Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs
parentb1276a1b76ac3b87add90e0c6b887d5afea1cfea (diff)
+misc
Diffstat (limited to 'Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs')
-rw-r--r--Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs b/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs
index 9103162..3f93e7a 100644
--- a/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs
+++ b/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs
@@ -4,6 +4,8 @@ using UnityEngine.UI;
namespace UnityEngine.EventSystems
{
+
+ // 会处理触屏和鼠标
public abstract class PointerInputModule : BaseInputModule
{
public const int kMouseLeftId = -1;
@@ -37,7 +39,8 @@ namespace UnityEngine.EventSystems
protected PointerEventData GetTouchPointerEventData(Touch input, out bool pressed, out bool released)
{
PointerEventData pointerData;
- var created = GetPointerData(input.fingerId, out pointerData, true); // 拿到存储结构,返回是否是新建结构
+ // 从池子里拿到存储结构,返回是否是新建结构
+ var created = GetPointerData(input.fingerId, out pointerData, true);
pointerData.Reset();
@@ -60,8 +63,10 @@ namespace UnityEngine.EventSystems
// 用这个触摸数据做射线检测,检测结果在m_RaycastResultCache
eventSystem.RaycastAll(pointerData, m_RaycastResultCache);
-
+
+ // 只取第一个,舍弃其他的
var raycast = FindFirstRaycast(m_RaycastResultCache);
+ Debug.Log("raycast: " + raycast.index);
pointerData.pointerCurrentRaycast = raycast;
m_RaycastResultCache.Clear();
return pointerData;
@@ -209,6 +214,8 @@ namespace UnityEngine.EventSystems
leftData.scrollDelta = input.mouseScrollDelta;
leftData.button = PointerEventData.InputButton.Left;
eventSystem.RaycastAll(leftData, m_RaycastResultCache);
+
+ // 只要第一个raycast结果
var raycast = FindFirstRaycast(m_RaycastResultCache);
leftData.pointerCurrentRaycast = raycast;
m_RaycastResultCache.Clear();
@@ -224,6 +231,7 @@ namespace UnityEngine.EventSystems
CopyFromTo(leftData, middleData);
middleData.button = PointerEventData.InputButton.Middle;
+ // 设置按键状态
m_MouseState.SetButtonState(PointerEventData.InputButton.Left, StateForMouseButton(0), leftData);
m_MouseState.SetButtonState(PointerEventData.InputButton.Right, StateForMouseButton(1), rightData);
m_MouseState.SetButtonState(PointerEventData.InputButton.Middle, StateForMouseButton(2), middleData);
@@ -252,6 +260,7 @@ namespace UnityEngine.EventSystems
HandlePointerExitAndEnter(pointerEvent, targetGO);
}
+ // 发送drag事件
protected virtual void ProcessDrag(PointerEventData pointerEvent)
{
if (!pointerEvent.IsPointerMoving() ||