diff --git a/Assets/Tests/Editor/MouseUiMainThreadCleanupSchedulerTests.cs b/Assets/Tests/Editor/MouseUiMainThreadCleanupSchedulerTests.cs index c368686845..da92345938 100644 --- a/Assets/Tests/Editor/MouseUiMainThreadCleanupSchedulerTests.cs +++ b/Assets/Tests/Editor/MouseUiMainThreadCleanupSchedulerTests.cs @@ -43,7 +43,6 @@ public void QueueOverlayClear_WithActiveOverlayState_ClearsState() MouseAction.Click, new Vector2(10f, 20f), null, - "Target", new Vector2(100f, 200f)); MouseUiMainThreadCleanupScheduler scheduler = new(); scheduler.CaptureMainThreadContext(); diff --git a/Packages/src/Editor/FirstPartyTools/ClearConsole/ClearConsoleResponse.cs b/Packages/src/Editor/FirstPartyTools/ClearConsole/ClearConsoleResponse.cs index aad42ab50f..d402b3bb7a 100644 --- a/Packages/src/Editor/FirstPartyTools/ClearConsole/ClearConsoleResponse.cs +++ b/Packages/src/Editor/FirstPartyTools/ClearConsole/ClearConsoleResponse.cs @@ -41,28 +41,6 @@ public ClearConsoleResponse(bool success, int clearedLogCount, ClearedLogCounts Message = message ?? string.Empty; ErrorMessage = string.Empty; } - - /// - /// Create a new ClearConsoleResponse for failed operation - /// - public ClearConsoleResponse(string errorMessage) - { - Success = false; - ClearedLogCount = 0; - ClearedCounts = new ClearedLogCounts(); - Message = string.Empty; - ErrorMessage = errorMessage ?? string.Empty; - } - - /// - /// Parameterless constructor for JSON deserialization - /// - public ClearConsoleResponse() - { - ClearedCounts = new ClearedLogCounts(); - Message = string.Empty; - ErrorMessage = string.Empty; - } } /// diff --git a/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputRecorder.cs b/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputRecorder.cs index c54965dd95..965e2bca20 100644 --- a/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputRecorder.cs +++ b/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputRecorder.cs @@ -234,11 +234,6 @@ public static void NotifyRecordingStopped() ServiceValue.NotifyRecordingStopped(); } - public static void ForceStop() - { - ServiceValue.ForceStop(); - } - internal static string FormatVector2(Vector2 v) { return InputRecordingVectorFormat.FormatVector2(v); diff --git a/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputReplayUiController.cs b/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputReplayUiController.cs index 6f53820fcd..06757fec26 100644 --- a/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputReplayUiController.cs +++ b/Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputReplayUiController.cs @@ -83,7 +83,6 @@ private void ApplyUiPointerActivity(UiReplayFrame replayFrame) MouseAction.Click, replayFrame.InputPosition, null, - _currentPressTarget?.name, replayFrame.GameViewSize); SimulateMouseUiOverlayState.RequestExpandAnimation(); return; @@ -104,7 +103,6 @@ private void ApplyUiPointerActivity(UiReplayFrame replayFrame) MouseAction.Click, replayFrame.InputPosition, null, - null, replayFrame.GameViewSize); } } @@ -122,7 +120,6 @@ private void ApplyUiPointerHold(UiReplayFrame replayFrame) MouseAction.Drag, replayFrame.InputPosition, pressInputPos, - null, replayFrame.GameViewSize); return; } @@ -137,7 +134,6 @@ private void ApplyUiPointerHold(UiReplayFrame replayFrame) MouseAction.LongPress, replayFrame.InputPosition, null, - _currentPressTarget?.name, replayFrame.GameViewSize); SimulateMouseUiOverlayState.UpdateLongPressElapsed(elapsed); } diff --git a/Packages/src/Editor/FirstPartyTools/Common/MouseUi/UiRaycastHelper.cs b/Packages/src/Editor/FirstPartyTools/Common/MouseUi/UiRaycastHelper.cs index ea15937d08..356af9dc14 100644 --- a/Packages/src/Editor/FirstPartyTools/Common/MouseUi/UiRaycastHelper.cs +++ b/Packages/src/Editor/FirstPartyTools/Common/MouseUi/UiRaycastHelper.cs @@ -18,14 +18,6 @@ internal static class UiRaycastHelper return context.Raycast(screenPosition); } - // Bypass EventSystem's Screen-bounds clipping by directly testing Graphic rects in Canvas space. - // Only supports ScreenSpaceOverlay canvases where world positions equal Canvas-space positions. - public static RaycastResult? RaycastCanvasSpace(Vector2 canvasPosition) - { - List canvasRaycastSources = CollectCanvasRaycastSources(); - return RaycastCanvasSpaceFromSources(canvasPosition, canvasRaycastSources); - } - private static List CollectCanvasRaycastSources() { #if UNITY_6000_4_OR_NEWER diff --git a/Packages/src/Editor/FirstPartyTools/Compile/AssemblyDefinitionDuplicationValidationService.cs b/Packages/src/Editor/FirstPartyTools/Compile/AssemblyDefinitionDuplicationValidationService.cs index 264a639e38..28a8ac3091 100644 --- a/Packages/src/Editor/FirstPartyTools/Compile/AssemblyDefinitionDuplicationValidationService.cs +++ b/Packages/src/Editor/FirstPartyTools/Compile/AssemblyDefinitionDuplicationValidationService.cs @@ -4,7 +4,6 @@ using System.Text.RegularExpressions; using UnityEditor; using UnityEditorInternal; -using UnityEngine; using io.github.hatayama.UnityCliLoop.ToolContracts; @@ -18,88 +17,6 @@ public class AssemblyDefinitionDuplicationValidationService private static readonly Regex AsmdefNameRegex = new("\"name\"\\s*:\\s*\"(?[^\"]+)\"", RegexOptions.Compiled); - private static readonly Regex DuplicateAsmdefConsoleRegex = new( - "^Assembly with name '(?[^']+)' already exists \\((?[^)]+)\\)$", - RegexOptions.Compiled - ); - - public ValidationResult ValidateNoDuplicateAsmdefNamesFromConsoleErrors() - { - LogRetrievalService retrievalService = new(); - LogDisplayDto logData = retrievalService.GetLogsWithSearch( - UnityCliLoopLogType.Error, - "Assembly with name '", - useRegex: false, - searchInStackTrace: false - ); - - Dictionary> pathsByAsmName = new(StringComparer.Ordinal); - - foreach (LogEntryDto entry in logData.LogEntries) - { - if (string.IsNullOrEmpty(entry.Message)) - { - continue; - } - - Match match = DuplicateAsmdefConsoleRegex.Match(entry.Message.Trim()); - if (!match.Success) - { - continue; - } - - string asmName = match.Groups["name"].Value; - string assetPath = match.Groups["path"].Value; - if (string.IsNullOrEmpty(asmName) || string.IsNullOrEmpty(assetPath)) - { - continue; - } - - // Prevent false positives from stale console logs by verifying the asset still exists. - UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(assetPath); - if (obj == null) - { - continue; - } - - if (!pathsByAsmName.TryGetValue(asmName, out List paths)) - { - paths = new List(); - pathsByAsmName.Add(asmName, paths); - } - - if (!paths.Contains(assetPath)) - { - paths.Add(assetPath); - } - } - - if (pathsByAsmName.Count == 0) - { - return ValidationResult.Success(); - } - - string details = string.Join( - "\n", - pathsByAsmName - .OrderBy(kvp => kvp.Key, StringComparer.Ordinal) - .Take(5) - .Select(d => - { - string paths = string.Join("\n ", d.Value.Take(8)); - return $"- {d.Key}\n {paths}"; - }) - ); - - string message = - $"{UnityCliLoopConstants.ERROR_MESSAGE_DUPLICATE_ASMDEF}\n" + - "Detected from Console errors:\n" + - $"{details}\n" + - "Fix: ensure each .asmdef has a unique \"name\"."; - - return ValidationResult.Failure(message); - } - public ValidationResult ValidateNoDuplicateAsmdefNames() { string[] asmdefGuids = AssetDatabase.FindAssets("t:AssemblyDefinitionAsset"); diff --git a/Packages/src/Editor/FirstPartyTools/FindGameObjects/GameObjectFinder/GameObjectDetails.cs b/Packages/src/Editor/FirstPartyTools/FindGameObjects/GameObjectFinder/GameObjectDetails.cs index 4c47188e8b..5999d46370 100644 --- a/Packages/src/Editor/FirstPartyTools/FindGameObjects/GameObjectFinder/GameObjectDetails.cs +++ b/Packages/src/Editor/FirstPartyTools/FindGameObjects/GameObjectFinder/GameObjectDetails.cs @@ -8,7 +8,6 @@ namespace io.github.hatayama.UnityCliLoop.FirstPartyTools public class GameObjectDetails { public bool Found { get; set; } - public string ErrorMessage { get; set; } public GameObject GameObject { get; set; } public string Name { get; set; } public string Path { get; set; } diff --git a/Packages/src/Editor/FirstPartyTools/GetLogs/GetLogsResponse.cs b/Packages/src/Editor/FirstPartyTools/GetLogs/GetLogsResponse.cs index 9b9f232816..a5dc1d8d19 100644 --- a/Packages/src/Editor/FirstPartyTools/GetLogs/GetLogsResponse.cs +++ b/Packages/src/Editor/FirstPartyTools/GetLogs/GetLogsResponse.cs @@ -19,13 +19,6 @@ public LogEntry(string type, string message, string stackTrace) Message = message; StackTrace = stackTrace; } - - /// - /// Parameterless constructor for JSON deserialization - /// - public LogEntry() - { - } } /// @@ -83,15 +76,5 @@ public GetLogsResponse(int totalCount, int displayedCount, string logType, int m IncludeStackTrace = includeStackTrace; Logs = logs ?? Array.Empty(); } - - /// - /// Parameterless constructor for JSON deserialization - /// - public GetLogsResponse() - { - LogType = string.Empty; - SearchText = string.Empty; - Logs = Array.Empty(); - } } } \ No newline at end of file diff --git a/Packages/src/Editor/FirstPartyTools/RunTests/RunTestsResponse.cs b/Packages/src/Editor/FirstPartyTools/RunTests/RunTestsResponse.cs index 01f02f0607..b4ec06031a 100644 --- a/Packages/src/Editor/FirstPartyTools/RunTests/RunTestsResponse.cs +++ b/Packages/src/Editor/FirstPartyTools/RunTests/RunTestsResponse.cs @@ -115,18 +115,6 @@ public RunTestsResponse( NoTestsFoundExplanation = noTestsFoundExplanation; } - /// - /// Parameterless constructor for JSON deserialization - /// - public RunTestsResponse() - { - Message = string.Empty; - Status = string.Empty; - NoTestsFoundExplanation = string.Empty; - CompletedAt = string.Empty; - XmlPath = string.Empty; - } - public static RunTestsResponse CreateTestFrameworkUnavailable() { return new RunTestsResponse( diff --git a/Packages/src/Editor/FirstPartyTools/SimulateKeyboard/Application/KeyboardKeyState.cs b/Packages/src/Editor/FirstPartyTools/SimulateKeyboard/Application/KeyboardKeyState.cs index 976e77b40b..db185d6715 100644 --- a/Packages/src/Editor/FirstPartyTools/SimulateKeyboard/Application/KeyboardKeyState.cs +++ b/Packages/src/Editor/FirstPartyTools/SimulateKeyboard/Application/KeyboardKeyState.cs @@ -74,12 +74,6 @@ public void UnregisterTransientKey(Key key) _transientKeys.Remove(key); } - public void Clear() - { - _heldKeys.Clear(); - _transientKeys.Clear(); - } - // Keyboard keys are stored as a bitfield, so StateEvent.From captures // the entire keyboard state. To support simultaneous key holds, we write // ALL currently held keys into every event — not just the target key. @@ -180,11 +174,6 @@ public static void UnregisterTransientKey(Key key) ServiceValue.UnregisterTransientKey(key); } - public static void Clear() - { - ServiceValue.Clear(); - } - public static IReadOnlyList ClearTrackedKeys() { return ServiceValue.ClearTrackedKeys(); diff --git a/Packages/src/Editor/FirstPartyTools/SimulateMouseInput/Application/MouseInputState.cs b/Packages/src/Editor/FirstPartyTools/SimulateMouseInput/Application/MouseInputState.cs index 994255ea9b..2787ef51d9 100644 --- a/Packages/src/Editor/FirstPartyTools/SimulateMouseInput/Application/MouseInputState.cs +++ b/Packages/src/Editor/FirstPartyTools/SimulateMouseInput/Application/MouseInputState.cs @@ -25,8 +25,6 @@ internal sealed class MouseInputStateService private Action? _pendingDeltaReset; private Action? _pendingScrollReset; - public bool IsButtonHeld(RuntimeMouseButton button) => _heldButtons.Contains(button); - public void RegisterPlayModeCallbacks() { EditorApplication.playModeStateChanged -= OnPlayModeStateChanged; @@ -237,8 +235,6 @@ internal static void InitializeForEditorStartup() ServiceValue.RegisterPlayModeCallbacks(); } - public static bool IsButtonHeld(RuntimeMouseButton button) => ServiceValue.IsButtonHeld(button); - public static void SetButtonDown(RuntimeMouseButton button) { ServiceValue.SetButtonDown(button); diff --git a/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiIncrementalDragExecutor.cs b/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiIncrementalDragExecutor.cs index c30eedcf7f..02832f459a 100644 --- a/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiIncrementalDragExecutor.cs +++ b/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiIncrementalDragExecutor.cs @@ -50,7 +50,7 @@ internal static async Task ExecuteDragStart( if (target == null) { SimulateMouseUiOverlayState.Update( - MouseAction.DragStart, inputPos, null, null, Handles.GetMainGameViewSize()); + MouseAction.DragStart, inputPos, null, Handles.GetMainGameViewSize()); MouseUiFrameWaitOutcome noTargetExpandOutcome = await MouseUiOverlayAnimator.PlayExpandAnimation(ct).ConfigureAwait(false); if (noTargetExpandOutcome == MouseUiFrameWaitOutcome.TimedOut) { @@ -102,7 +102,7 @@ internal static async Task ExecuteDragStart( string targetName = target.name; SimulateMouseUiOverlayState.Update( - MouseAction.DragStart, inputPos, inputPos, targetName, Handles.GetMainGameViewSize()); + MouseAction.DragStart, inputPos, inputPos, Handles.GetMainGameViewSize()); bool animationCompleted = false; try @@ -183,7 +183,7 @@ internal static async Task ExecuteDragMove( MouseAction.DragMove, MouseUiCoordinateConverter.ScreenToInput(pointerData.position), SimulateMouseUiOverlayState.DragStartPosition, - targetName, Handles.GetMainGameViewSize()); + Handles.GetMainGameViewSize()); // Cancellation leaves drag state intact so the user can continue with DragMove/DragEnd MouseUiFrameWaitOutcome dragOutcome = await MouseUiDragEventExecutor.InterpolateDragPosition( @@ -261,7 +261,7 @@ internal static async Task ExecuteDragEnd( MouseAction.DragEnd, MouseUiCoordinateConverter.ScreenToInput(pointerData.position), SimulateMouseUiOverlayState.DragStartPosition, - targetName, Handles.GetMainGameViewSize()); + Handles.GetMainGameViewSize()); // Any Paused exit inside this try still runs FinalizeDrag + MouseDragState.Clear() // in the finally below, so every in-try branch reports the drag as finalized early. @@ -310,7 +310,7 @@ internal static async Task ExecuteDragEnd( } SimulateMouseUiOverlayState.Update( - MouseAction.DragEnd, inputEnd, null, targetName, Handles.GetMainGameViewSize()); + MouseAction.DragEnd, inputEnd, null, Handles.GetMainGameViewSize()); MouseUiFrameWaitOutcome dissipateOutcome = await MouseUiOverlayAnimator.PlayDissipateAnimation(ct).ConfigureAwait(false); if (dissipateOutcome == MouseUiFrameWaitOutcome.TimedOut) diff --git a/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiOneShotDragExecutor.cs b/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiOneShotDragExecutor.cs index 35e0891c1c..73752a2929 100644 --- a/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiOneShotDragExecutor.cs +++ b/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiOneShotDragExecutor.cs @@ -50,7 +50,7 @@ internal static async Task ExecuteDragOneShot( if (target == null) { SimulateMouseUiOverlayState.Update( - MouseAction.Drag, inputStart, null, null, Handles.GetMainGameViewSize()); + MouseAction.Drag, inputStart, null, Handles.GetMainGameViewSize()); MouseUiFrameWaitOutcome noTargetExpandOutcome = await MouseUiOverlayAnimator.PlayExpandAnimation(ct).ConfigureAwait(false); if (noTargetExpandOutcome == MouseUiFrameWaitOutcome.TimedOut) { @@ -102,7 +102,7 @@ internal static async Task ExecuteDragOneShot( string targetName = target.name; SimulateMouseUiOverlayState.Update( - MouseAction.Drag, inputStart, inputStart, targetName, Handles.GetMainGameViewSize()); + MouseAction.Drag, inputStart, inputStart, Handles.GetMainGameViewSize()); // Any Paused exit inside this try still runs FinalizeDrag in the finally below // (pointerUp/drop/endDrag), so every branch reports the drag as finalized early @@ -161,7 +161,7 @@ internal static async Task ExecuteDragOneShot( } SimulateMouseUiOverlayState.Update( - MouseAction.Drag, inputEnd, inputStart, targetName, Handles.GetMainGameViewSize()); + MouseAction.Drag, inputEnd, inputStart, Handles.GetMainGameViewSize()); MouseUiFrameWaitOutcome dissipateOutcome = await MouseUiOverlayAnimator.PlayDissipateAnimation(ct).ConfigureAwait(false); if (dissipateOutcome == MouseUiFrameWaitOutcome.TimedOut) diff --git a/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiPressActionExecutor.cs b/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiPressActionExecutor.cs index 1eabaffeee..66795b2aa4 100644 --- a/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiPressActionExecutor.cs +++ b/Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiPressActionExecutor.cs @@ -48,7 +48,7 @@ internal static async Task ExecuteClick( bool hitTarget = resolvedTargets.Target != null; SimulateMouseUiOverlayState.Update( MouseAction.Click, inputPos, null, - targetName, Handles.GetMainGameViewSize()); + Handles.GetMainGameViewSize()); MouseUiFrameWaitOutcome expandOutcome = await MouseUiOverlayAnimator.PlayExpandAnimation(ct).ConfigureAwait(false); if (expandOutcome == MouseUiFrameWaitOutcome.TimedOut) @@ -130,7 +130,7 @@ internal static async Task ExecuteLongPress( bool shouldReleasePointer = resolvedTargets.RawTarget != null && resolvedTargets.Target != null; SimulateMouseUiOverlayState.Update( MouseAction.LongPress, inputPos, null, - targetName, Handles.GetMainGameViewSize()); + Handles.GetMainGameViewSize()); MouseUiFrameWaitOutcome expandOutcome = await MouseUiOverlayAnimator.PlayExpandAnimation(ct).ConfigureAwait(false); if (expandOutcome == MouseUiFrameWaitOutcome.TimedOut) diff --git a/Packages/src/Editor/FirstPartyTools/Watch/WatchExpressionStepMonitor.cs b/Packages/src/Editor/FirstPartyTools/Watch/WatchExpressionStepMonitor.cs index 8789a85eed..18c3eb4eb1 100644 --- a/Packages/src/Editor/FirstPartyTools/Watch/WatchExpressionStepMonitor.cs +++ b/Packages/src/Editor/FirstPartyTools/Watch/WatchExpressionStepMonitor.cs @@ -26,17 +26,6 @@ public void Start() _isStarted = true; } - public void Stop() - { - if (!_isStarted) - { - return; - } - - EditorApplication.update -= OnEditorUpdate; - _isStarted = false; - } - private void OnEditorUpdate() { _registry.EvaluateIfFrameChanged(); diff --git a/Packages/src/Runtime/SimulateMouseInput/SimulateMouseInputOverlayState.cs b/Packages/src/Runtime/SimulateMouseInput/SimulateMouseInputOverlayState.cs index 8c8a434293..77f27824cf 100644 --- a/Packages/src/Runtime/SimulateMouseInput/SimulateMouseInputOverlayState.cs +++ b/Packages/src/Runtime/SimulateMouseInput/SimulateMouseInputOverlayState.cs @@ -87,11 +87,6 @@ public void SetScrollDirection(int direction) LastActivityTime = Time.realtimeSinceStartup; } - public void ClearScroll() - { - _scrollActiveUntil = 0f; - } - public void SetMoveDelta(Vector2 delta) { _moveAccumulator += delta; @@ -159,11 +154,6 @@ public static void SetScrollDirection(int direction) ServiceValue.SetScrollDirection(direction); } - public static void ClearScroll() - { - ServiceValue.ClearScroll(); - } - public static void SetMoveDelta(Vector2 delta) { ServiceValue.SetMoveDelta(delta); diff --git a/Packages/src/Runtime/SimulateMouseUi/SimulateMouseUiOverlayState.cs b/Packages/src/Runtime/SimulateMouseUi/SimulateMouseUiOverlayState.cs index 8eb74136ca..d2d44513a2 100644 --- a/Packages/src/Runtime/SimulateMouseUi/SimulateMouseUiOverlayState.cs +++ b/Packages/src/Runtime/SimulateMouseUi/SimulateMouseUiOverlayState.cs @@ -14,7 +14,6 @@ public sealed class SimulateMouseUiOverlayStateService public MouseAction Action { get; private set; } public Vector2 CurrentPosition { get; private set; } public Vector2? DragStartPosition { get; private set; } - public string? HitGameObjectName { get; private set; } // Screen.width/height at the time positions were recorded (Editor context may differ from Game context) public Vector2 SourceScreenSize { get; private set; } @@ -36,7 +35,6 @@ public void Update( MouseAction action, Vector2 currentPosition, Vector2? dragStartPosition, - string? hitGameObjectName, Vector2 sourceScreenSize) { // PlayDissipateAnimation calls Clear() on normal completion, but a cancelled or stuck drag @@ -50,7 +48,6 @@ public void Update( Action = action; CurrentPosition = currentPosition; DragStartPosition = dragStartPosition; - HitGameObjectName = hitGameObjectName; SourceScreenSize = sourceScreenSize; } @@ -113,7 +110,6 @@ public void Clear() Action = default; CurrentPosition = Vector2.zero; DragStartPosition = null; - HitGameObjectName = null; SourceScreenSize = Vector2.zero; LongPressElapsed = 0f; _dragWaypoints.Clear(); @@ -132,7 +128,6 @@ public static class SimulateMouseUiOverlayState public static MouseAction Action => ServiceValue.Action; public static Vector2 CurrentPosition => ServiceValue.CurrentPosition; public static Vector2? DragStartPosition => ServiceValue.DragStartPosition; - public static string? HitGameObjectName => ServiceValue.HitGameObjectName; public static Vector2 SourceScreenSize => ServiceValue.SourceScreenSize; public static float LongPressElapsed => ServiceValue.LongPressElapsed; public static IReadOnlyList DragWaypoints => ServiceValue.DragWaypoints; @@ -141,10 +136,9 @@ public static void Update( MouseAction action, Vector2 currentPosition, Vector2? dragStartPosition, - string? hitGameObjectName, Vector2 sourceScreenSize) { - ServiceValue.Update(action, currentPosition, dragStartPosition, hitGameObjectName, sourceScreenSize); + ServiceValue.Update(action, currentPosition, dragStartPosition, sourceScreenSize); } public static void UpdateLongPressElapsed(float elapsed)