|
3 | 3 | using UnityEngine.EventSystems; |
4 | 4 | using UnityEngine.InputSystem.Controls; |
5 | 5 | using UnityEngine.InputSystem.Utilities; |
| 6 | +using UnityEngine.Pool; |
6 | 7 |
|
7 | 8 | namespace UnityEngine.InputSystem.UI |
8 | 9 | { |
@@ -78,24 +79,63 @@ public ExtendedPointerEventData(EventSystem eventSystem) |
78 | 79 |
|
79 | 80 | public override string ToString() |
80 | 81 | { |
81 | | - var stringBuilder = new StringBuilder(); |
82 | | - stringBuilder.Append(base.ToString()); |
83 | | - stringBuilder.AppendLine("button: " + button); // Defined in PointerEventData but PointerEventData.ToString() does not include it. |
84 | | - stringBuilder.AppendLine("clickTime: " + clickTime); // Same here. |
85 | | - stringBuilder.AppendLine("clickCount: " + clickCount); // Same here. |
86 | | - stringBuilder.AppendLine("device: " + device); |
87 | | - stringBuilder.AppendLine("pointerType: " + pointerType); |
88 | | - stringBuilder.AppendLine("touchId: " + touchId); |
89 | | - stringBuilder.AppendLine("pressPosition: " + pressPosition); |
90 | | - stringBuilder.AppendLine("trackedDevicePosition: " + trackedDevicePosition); |
91 | | - stringBuilder.AppendLine("trackedDeviceOrientation: " + trackedDeviceOrientation); |
92 | | - stringBuilder.AppendLine("pressure" + pressure); |
93 | | - stringBuilder.AppendLine("radius: " + radius); |
94 | | - stringBuilder.AppendLine("azimuthAngle: " + azimuthAngle); |
95 | | - stringBuilder.AppendLine("altitudeAngle: " + altitudeAngle); |
96 | | - stringBuilder.AppendLine("twist: " + twist); |
97 | | - stringBuilder.AppendLine("displayIndex: " + displayIndex); |
98 | | - return stringBuilder.ToString(); |
| 82 | + var stringBuilder = GenericPool<StringBuilder>.Get(); |
| 83 | + try |
| 84 | + { |
| 85 | + stringBuilder.Clear(); |
| 86 | + stringBuilder.Append(base.ToString()); |
| 87 | + stringBuilder.Append("button: "); // Defined in PointerEventData but PointerEventData.ToString() does not include it. |
| 88 | + stringBuilder.Append(button); |
| 89 | + stringBuilder.AppendLine(); |
| 90 | + stringBuilder.Append("clickTime: "); // Same here. |
| 91 | + stringBuilder.Append(clickTime); |
| 92 | + stringBuilder.AppendLine(); |
| 93 | + stringBuilder.Append("clickCount: "); // Same here. |
| 94 | + stringBuilder.Append(clickCount); |
| 95 | + stringBuilder.AppendLine(); |
| 96 | + stringBuilder.Append("device: "); |
| 97 | + stringBuilder.Append(device); |
| 98 | + stringBuilder.AppendLine(); |
| 99 | + stringBuilder.Append("pointerType: "); |
| 100 | + stringBuilder.Append(pointerType); |
| 101 | + stringBuilder.AppendLine(); |
| 102 | + stringBuilder.Append("touchId: "); |
| 103 | + stringBuilder.Append(touchId); |
| 104 | + stringBuilder.AppendLine(); |
| 105 | + stringBuilder.Append("pressPosition: "); |
| 106 | + stringBuilder.Append(pressPosition); |
| 107 | + stringBuilder.AppendLine(); |
| 108 | + stringBuilder.Append("trackedDevicePosition: "); |
| 109 | + stringBuilder.Append(trackedDevicePosition); |
| 110 | + stringBuilder.AppendLine(); |
| 111 | + stringBuilder.Append("trackedDeviceOrientation: "); |
| 112 | + stringBuilder.Append(trackedDeviceOrientation); |
| 113 | + stringBuilder.AppendLine(); |
| 114 | + stringBuilder.Append("pressure: "); |
| 115 | + stringBuilder.Append(pressure); |
| 116 | + stringBuilder.AppendLine(); |
| 117 | + stringBuilder.Append("radius: "); |
| 118 | + stringBuilder.Append(radius); |
| 119 | + stringBuilder.AppendLine(); |
| 120 | + stringBuilder.Append("azimuthAngle: "); |
| 121 | + stringBuilder.Append(azimuthAngle); |
| 122 | + stringBuilder.AppendLine(); |
| 123 | + stringBuilder.Append("altitudeAngle: "); |
| 124 | + stringBuilder.Append(altitudeAngle); |
| 125 | + stringBuilder.AppendLine(); |
| 126 | + stringBuilder.Append("twist: "); |
| 127 | + stringBuilder.Append(twist); |
| 128 | + stringBuilder.AppendLine(); |
| 129 | + stringBuilder.Append("displayIndex: "); |
| 130 | + stringBuilder.Append(displayIndex); |
| 131 | + stringBuilder.AppendLine(); |
| 132 | + return stringBuilder.ToString(); |
| 133 | + } |
| 134 | + finally |
| 135 | + { |
| 136 | + stringBuilder.Clear(); |
| 137 | + GenericPool<StringBuilder>.Release(stringBuilder); |
| 138 | + } |
99 | 139 | } |
100 | 140 |
|
101 | 141 | internal static int MakePointerIdForTouch(int deviceId, int touchId) |
|
0 commit comments