You've already forked ParticleEffectForUGUI
mirror of
https://github.com/mob-sakai/ParticleEffectForUGUI.git
synced 2026-05-17 13:50:08 +00:00
resharp
This commit is contained in:
@@ -1,25 +1,31 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
public class UIElementDragger : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
|
||||
{
|
||||
public enum Target
|
||||
{
|
||||
Self,
|
||||
Parent,
|
||||
Custom,
|
||||
}
|
||||
[SerializeField]
|
||||
private Target m_Target;
|
||||
|
||||
private RectTransform rectTransform;
|
||||
private Canvas canvas;
|
||||
public Target m_Target;
|
||||
public Transform m_CustomTarget;
|
||||
public bool ex2;
|
||||
[SerializeField]
|
||||
private Transform m_CustomTarget;
|
||||
|
||||
[FormerlySerializedAs("ex2")]
|
||||
[SerializeField]
|
||||
private bool m_UseCanvasScale;
|
||||
|
||||
private Canvas _canvas;
|
||||
private RectTransform _rectTransform;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
rectTransform = GetComponent<RectTransform>();
|
||||
canvas = GetComponentInParent<Canvas>();
|
||||
_rectTransform = GetComponent<RectTransform>();
|
||||
_canvas = GetComponentInParent<Canvas>();
|
||||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData)
|
||||
{
|
||||
}
|
||||
|
||||
public void OnDrag(PointerEventData eventData)
|
||||
@@ -29,57 +35,59 @@ public class UIElementDragger : MonoBehaviour, IBeginDragHandler, IDragHandler,
|
||||
switch (m_Target)
|
||||
{
|
||||
case Target.Self:
|
||||
rectTransform.localPosition += delta;
|
||||
_rectTransform.localPosition += delta;
|
||||
break;
|
||||
case Target.Parent:
|
||||
rectTransform.parent.localPosition += delta;
|
||||
_rectTransform.parent.localPosition += delta;
|
||||
break;
|
||||
case Target.Custom:
|
||||
rectTransform.localPosition += delta;
|
||||
_rectTransform.localPosition += delta;
|
||||
if (m_CustomTarget)
|
||||
{
|
||||
if (ex2)
|
||||
delta.Scale(canvas.rootCanvas.transform.localScale);
|
||||
if (m_UseCanvasScale)
|
||||
{
|
||||
delta.Scale(_canvas.rootCanvas.transform.localScale);
|
||||
}
|
||||
|
||||
m_CustomTarget.localPosition += delta;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData)
|
||||
{
|
||||
}
|
||||
|
||||
public void OnEndDrag(PointerEventData eventData)
|
||||
{
|
||||
}
|
||||
|
||||
private Vector2 GetLocalDelta(Vector2 evDelta)
|
||||
{
|
||||
switch (canvas.renderMode)
|
||||
switch (_canvas.renderMode)
|
||||
{
|
||||
case RenderMode.ScreenSpaceOverlay:
|
||||
{
|
||||
var zero = transform.InverseTransformPoint(Vector2.zero);
|
||||
var delta = transform.InverseTransformPoint(evDelta);
|
||||
return delta - zero;
|
||||
}
|
||||
{
|
||||
var zero = transform.InverseTransformPoint(Vector2.zero);
|
||||
var delta = transform.InverseTransformPoint(evDelta);
|
||||
return delta - zero;
|
||||
}
|
||||
case RenderMode.ScreenSpaceCamera:
|
||||
{
|
||||
Vector2 zero, delta;
|
||||
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, Vector2.zero, canvas.worldCamera, out zero);
|
||||
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, evDelta, canvas.worldCamera, out delta);
|
||||
return delta - zero;
|
||||
}
|
||||
case RenderMode.WorldSpace:
|
||||
{
|
||||
Vector3 zero, delta;
|
||||
RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform, Vector2.zero, canvas.worldCamera, out zero);
|
||||
RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform, evDelta, canvas.worldCamera, out delta);
|
||||
return delta - zero;
|
||||
}
|
||||
{
|
||||
RectTransformUtility.ScreenPointToLocalPointInRectangle(_rectTransform, Vector2.zero,
|
||||
_canvas.worldCamera, out var zero);
|
||||
RectTransformUtility.ScreenPointToLocalPointInRectangle(_rectTransform, evDelta,
|
||||
_canvas.worldCamera, out var delta);
|
||||
return delta - zero;
|
||||
}
|
||||
default:
|
||||
throw new System.NotSupportedException();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private enum Target
|
||||
{
|
||||
Self,
|
||||
Parent,
|
||||
Custom
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user