Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.EventSystems;
- using DG.Tweening;
- public class ScribbleMovementInteractionOnDrag : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler, IPointerUpHandler
- {
- public RectTransform scribbleGuidePlaceholder;
- /// <summary>
- /// Это гребанный костыль, я ненавижу себя за это
- /// </summary>
- public ScribbleMoveSenderOnDragHandler ScribbleGuidePlaceholderPositionOnEndDrag;
- private Vector3 scribbleGuidePlaceholderPosition;
- private ScribbleMoveSenderOnDragHandler scribbleMoveSenderOnDragHandler;
- private void Awake()
- {
- scribbleGuidePlaceholderPosition = scribbleGuidePlaceholder.position;
- if (!ScribbleGuidePlaceholderPositionOnEndDrag)
- Debug.LogError($"in {gameObject.name} ScribbleGuidePlaceholderPositionOnEndDrag is null. Check it");
- }
- public void OnBeginDrag(PointerEventData eventData)
- {
- scribbleGuidePlaceholder.position = eventData.position;
- if (eventData.pointerCurrentRaycast.gameObject != null)
- {
- scribbleMoveSenderOnDragHandler = eventData.pointerCurrentRaycast.gameObject.GetComponent<ScribbleMoveSenderOnDragHandler>();
- if (scribbleMoveSenderOnDragHandler)
- {
- scribbleMoveSenderOnDragHandler.GetNormalizePositionOnRectGetter.SetEventData(eventData);
- scribbleMoveSenderOnDragHandler.SendPositionData();
- }
- }
- }
- public void OnDrag(PointerEventData eventData)
- {
- scribbleGuidePlaceholder.position = eventData.position;
- if (eventData.pointerCurrentRaycast.gameObject != null)
- {
- scribbleMoveSenderOnDragHandler = eventData.pointerCurrentRaycast.gameObject.GetComponent<ScribbleMoveSenderOnDragHandler>();
- if (scribbleMoveSenderOnDragHandler)
- {
- scribbleMoveSenderOnDragHandler.GetNormalizePositionOnRectGetter.SetEventData(eventData);
- scribbleMoveSenderOnDragHandler.SendPositionData();
- }
- }
- }
- public void OnEndDrag(PointerEventData eventData)
- {
- ScribbleGuidePlaceholderPositionOnEndDrag.SendDefaultPositionData();
- ScribbleGuidePlaceholderPositionOnEndDrag.GetNormalizePositionOnRectGetter.SetNullEventData(eventData);
- scribbleGuidePlaceholder.DOMove(scribbleGuidePlaceholderPosition, 0.25f);
- }
- public void OnPointerUp(PointerEventData eventData)
- {
- ScribbleGuidePlaceholderPositionOnEndDrag.SendDefaultPositionData();
- ScribbleGuidePlaceholderPositionOnEndDrag.GetNormalizePositionOnRectGetter.SetNullEventData(eventData);
- scribbleGuidePlaceholder.DOMove(scribbleGuidePlaceholderPosition, 0.25f);
- }
- private void OnDisable()
- {
- scribbleGuidePlaceholder.position = scribbleGuidePlaceholderPosition;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement