74 lines
2.2 KiB
C#
74 lines
2.2 KiB
C#
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.Events;
|
|||
|
|
using UnityEngine.EventSystems;
|
|||
|
|
using UnityEngine.UI;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><E2B4A9><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UI<55>·<EFBFBD><C2B7>İ<EFBFBD>ť
|
|||
|
|
/// </summary>
|
|||
|
|
public class RaycastDetect : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
public UnityAction ClickAction;
|
|||
|
|
public UnityAction DefaultAction;
|
|||
|
|
|
|||
|
|
void Update()
|
|||
|
|
{
|
|||
|
|
if (Input.GetMouseButtonDown(0))
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
PointerEventData pointerData = new PointerEventData(EventSystem.current)
|
|||
|
|
{
|
|||
|
|
position = Input.mousePosition
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UI<55><49><EFBFBD><EFBFBD>
|
|||
|
|
var results = new System.Collections.Generic.List<RaycastResult>();
|
|||
|
|
EventSystem.current.RaycastAll(pointerData, results);
|
|||
|
|
|
|||
|
|
if (results.Count > 0)
|
|||
|
|
{
|
|||
|
|
GameObject clickedObject = results[0].gameObject;
|
|||
|
|
if (clickedObject != this.gameObject)
|
|||
|
|
{
|
|||
|
|
//<2F>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UI
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
foreach (var result in results)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD>ť
|
|||
|
|
if (result.gameObject.GetComponent<Button>() != null)
|
|||
|
|
{
|
|||
|
|
DefaultAction?.Invoke();
|
|||
|
|
result.gameObject.GetComponent<Button>().OnPointerClick(pointerData);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
ClickAction?.Invoke();
|
|||
|
|
//GameObject clickedObject = results[0].gameObject;
|
|||
|
|
//if (clickedObject == mainButton.gameObject)
|
|||
|
|
//{
|
|||
|
|
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>水ť
|
|||
|
|
// OnMainButtonClick();
|
|||
|
|
//}
|
|||
|
|
//else if (clickedObject.transform.IsChildOf(sidebar.transform))
|
|||
|
|
//{
|
|||
|
|
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﴦ<EFBFBD><EFB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
//}
|
|||
|
|
//else
|
|||
|
|
//{
|
|||
|
|
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿǽ<C7B7><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// HideSidebar();
|
|||
|
|
//}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿǽ<C7B7><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//HideSidebar();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|