VirtualFramework/Assets/Scripts/UI/UIBody3DMouse.cs

77 lines
1.9 KiB
C#
Raw Normal View History

2025-02-19 16:33:28 +08:00
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using System;
namespace QFramework.Example
{
public class UIBody3DMouseData : UIPanelData
{
}
public partial class UIBody3DMouse : UIPanel
{
UIDragItem dragItem;
protected override void OnInit(IUIData uiData = null)
{
mData = uiData as UIBody3DMouseData ?? new UIBody3DMouseData();
dragItem = Content.GetComponent<UIDragItem>();
SelectBtn.onClick.AddListener(() =>
{
});
}
private void OnEndDrag()
{
Show3DCamera.instance.lockMove = false;
}
private void OnBeginDrag()
{
Show3DCamera.instance.lockMove = true;
}
protected override void OnOpen(IUIData uiData = null)
{
dragItem?.OnBeginDragEvent.AddListener(OnBeginDrag);
dragItem?.OnEndDragEvent.AddListener(OnEndDrag);
}
private void Update()
{
if (Point != null && Camera.main != null)
{
// <20><>ȡImage<67><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
Vector2 imageCenter = new Vector2(Point.rectTransform.position.x, Point.rectTransform.position.y);
// <20><><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
Ray ray = Camera.main.ScreenPointToRay(imageCenter);
RaycastHit hit;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
if (Physics.Raycast(ray, out hit))
{
// <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Debug.LogError("<22><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: " + hit.collider.gameObject.name);
}
}
}
protected override void OnShow()
{
}
protected override void OnHide()
{
dragItem?.OnBeginDragEvent.RemoveListener(OnBeginDrag);
dragItem?.OnEndDragEvent.RemoveListener(OnEndDrag);
}
protected override void OnClose()
{
}
}
}