指针功能完成,齿轮未接入
This commit is contained in:
@@ -6,7 +6,8 @@ using UnityEngine.EventSystems;
|
||||
|
||||
namespace AibisDream.FixSystem
|
||||
{
|
||||
public class Plug : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUpHandler
|
||||
[RequireComponent(typeof(EventTriggerEx))]
|
||||
public class Plug : MonoBehaviour
|
||||
{
|
||||
#region 插头当前信息
|
||||
|
||||
@@ -22,6 +23,7 @@ namespace AibisDream.FixSystem
|
||||
private CableSystem _cableSystem;
|
||||
private SpriteRenderer _sprite;
|
||||
private Transform _plugRootPos;
|
||||
private EventTriggerEx _trigger;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -30,6 +32,7 @@ namespace AibisDream.FixSystem
|
||||
private void Awake()
|
||||
{
|
||||
InitComponentRef();
|
||||
EventRegister();
|
||||
}
|
||||
|
||||
private void InitComponentRef()
|
||||
@@ -37,6 +40,14 @@ namespace AibisDream.FixSystem
|
||||
_cableSystem = transform.parent.GetComponent<CableSystem>();
|
||||
_sprite = GetComponent<SpriteRenderer>();
|
||||
_plugRootPos = transform.Find("Plug Root Pos");
|
||||
_trigger = GetComponent<EventTriggerEx>();
|
||||
}
|
||||
|
||||
private void EventRegister()
|
||||
{
|
||||
_trigger.Register(EventTriggerType.Drag, OnDrag);
|
||||
_trigger.Register(EventTriggerType.PointerDown, OnPointerDown);
|
||||
_trigger.Register(EventTriggerType.PointerUp, OnPointerUp);
|
||||
}
|
||||
|
||||
public void InitPlug(ISocket initSocket)
|
||||
@@ -90,18 +101,21 @@ namespace AibisDream.FixSystem
|
||||
_cableSystem.curSocket = null;
|
||||
}
|
||||
|
||||
public void OnDrag(PointerEventData eventData)
|
||||
private void OnDrag(BaseEventData eventData)
|
||||
{
|
||||
// 系统被锁定就返回
|
||||
if (!_cableSystem.IsPlugAvailable()) return;
|
||||
|
||||
|
||||
// 未被拖拽也返回
|
||||
if (!_isDragging) return;
|
||||
|
||||
transform.position = CommonUtil.GetMouseWorldPos(eventData.position, transform);
|
||||
|
||||
if (eventData is PointerEventData pointerData)
|
||||
{
|
||||
transform.position = CommonUtil.GetMouseWorldPos(pointerData.position, transform);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPointerDown(PointerEventData eventData)
|
||||
private void OnPointerDown(BaseEventData eventData)
|
||||
{
|
||||
// 系统被锁定就返回
|
||||
if (!_cableSystem.IsPlugAvailable()) return;
|
||||
@@ -115,7 +129,7 @@ namespace AibisDream.FixSystem
|
||||
AdjustPlugPos();
|
||||
}
|
||||
|
||||
public void OnPointerUp(PointerEventData eventData)
|
||||
private void OnPointerUp(BaseEventData eventData)
|
||||
{
|
||||
// 停止拖拽
|
||||
_isDragging = false;
|
||||
|
||||
Reference in New Issue
Block a user