From 321a4bf9ff17d15b8a91e5d7d9e4e9cb1676387b Mon Sep 17 00:00:00 2001 From: geondo55 <102933884+geondo55@users.noreply.github.com> Date: Wed, 16 Jul 2025 17:11:50 +0900 Subject: [PATCH] =?UTF-8?q?Scene=20Gizmo=20Drag=20=EA=B8=B0=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Gizmo/SceneGizmoRenderer.cs | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/ExternalAssets/Gizmo/SceneGizmoRenderer.cs b/Assets/Scripts/ExternalAssets/Gizmo/SceneGizmoRenderer.cs index b1008774..81d35b1a 100644 --- a/Assets/Scripts/ExternalAssets/Gizmo/SceneGizmoRenderer.cs +++ b/Assets/Scripts/ExternalAssets/Gizmo/SceneGizmoRenderer.cs @@ -12,9 +12,9 @@ namespace Studio.RuntimeGizmo { } - public class SceneGizmoRenderer : MonoBehaviour, IPointerClickHandler, IDragHandler + public class SceneGizmoRenderer : MonoBehaviour, IPointerClickHandler, IDragHandler, IBeginDragHandler #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_FACEBOOK || UNITY_WSA || UNITY_WSA_10_0 - , IPointerEnterHandler, IPointerExitHandler + , IPointerEnterHandler, IPointerExitHandler #else , IPointerDownHandler, IPointerUpHandler #endif @@ -53,7 +53,10 @@ namespace Studio.RuntimeGizmo public ComponentClickedEvent OnComponentClicked { get { return m_onComponentClicked; } } #pragma warning restore 0649 - private void Awake() + private Vector2 dragBeginPos; + private Vector2 curGizmoPos; + + private void Awake() { imageHolderTR = (RectTransform) imageHolder.transform; controller = (SceneGizmoController) Instantiate( controller ); @@ -96,9 +99,17 @@ namespace Studio.RuntimeGizmo m_onComponentClicked.Invoke( hitComponent ); } - public void OnDrag( PointerEventData eventData ) + public void OnBeginDrag(PointerEventData eventData) + { + dragBeginPos = eventData.position; + curGizmoPos = transform.position; + } + + public void OnDrag( PointerEventData eventData) { - } + Vector2 moveOffset = eventData.position - dragBeginPos; + transform.position = curGizmoPos + moveOffset; + } private Vector3 GetNormalizedPointerPosition( PointerEventData eventData ) {