using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using System;
|
using UnityEngine.EventSystems;
|
namespace vnxbqy.UI
|
{
|
[RequireComponent(typeof(BoxCollider))]
|
public class TreasureInteractProcessor : MonoBehaviour, IPointerClickHandler
|
{
|
[NonSerialized]
|
public int treasureId;
|
|
[SerializeField] Vector3 m_Scale = new Vector3(1.8f, 5f, 0.1f);
|
BoxCollider collider;
|
|
private void Awake()
|
{
|
collider = GetComponent<BoxCollider>();
|
collider.size = m_Scale;
|
}
|
|
public void OnPointerClick(PointerEventData eventData)
|
{
|
List<RaycastResult> results = new List<RaycastResult>();
|
EventSystem.current.RaycastAll(eventData, results);
|
if (results != null)
|
{
|
var index = results.FindIndex((x) =>
|
{
|
return x.gameObject.GetComponent<TreasureUIEvent>() != null;
|
});
|
if (index != -1)
|
{
|
DebugEx.Log("法宝UI事件拦截");
|
return;
|
}
|
}
|
UI3DTreasureSelectStage.Instance.OnPointDownTreasure(treasureId);
|
}
|
|
public void SetActive(bool _active)
|
{
|
enabled = _active;
|
collider.enabled = _active;
|
if (_active)
|
{
|
LayerUtility.SetLayer(this.gameObject, LayerUtility.UILayer, true);
|
}
|
}
|
|
#if UNITY_EDITOR
|
private void OnValidate()
|
{
|
collider.size = m_Scale;
|
}
|
#endif
|
}
|
}
|