124 lines
2.7 KiB
C#
124 lines
2.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
public class BaseShow : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 数据信息
|
|
/// </summary>
|
|
public Data info;
|
|
|
|
/// <summary>
|
|
/// 是否可以单击
|
|
/// </summary>
|
|
public bool CanClick = true;
|
|
|
|
/// <summary>
|
|
/// 点击状态改变事件
|
|
/// </summary>
|
|
public event UnityAction CanClickStatusChanged;
|
|
|
|
///// <summary>
|
|
///// 点击状态
|
|
///// </summary>
|
|
//bool canClickNewStatus;
|
|
|
|
//// 临时距离
|
|
//float distance;
|
|
|
|
/// <summary>
|
|
/// 选中控制组件
|
|
/// </summary>
|
|
public ShowBoxCollider sbc;
|
|
|
|
void Awake()
|
|
{
|
|
sbc = GetComponent<ShowBoxCollider>();
|
|
}
|
|
|
|
public void OnStatusChange()
|
|
{
|
|
if (CanClickStatusChanged != null)
|
|
{
|
|
CanClickStatusChanged();
|
|
}
|
|
}
|
|
|
|
~BaseShow()
|
|
{
|
|
// ShowController.Instance.RemoveShow(this);
|
|
}
|
|
|
|
public virtual void OnClick()
|
|
{
|
|
|
|
}
|
|
|
|
bool IsMaskShow
|
|
{
|
|
get
|
|
{
|
|
sbc = GetComponent<ShowBoxCollider>();
|
|
if (sbc == null)
|
|
return false;
|
|
else
|
|
return sbc.showMask;
|
|
}
|
|
}
|
|
|
|
public void OnMouseUp()
|
|
{
|
|
if (BaseController.CanControl && IsMaskShow)
|
|
{
|
|
OnClick();
|
|
|
|
TipPlayerEx.Instance.HideTip();
|
|
}
|
|
}
|
|
|
|
//void LateUpdate()
|
|
//{
|
|
// if (info != null)
|
|
// {
|
|
// // 获取摄像机与中心位置的距离
|
|
// distance = Vector3.Distance(CommonData.MainCamera.transform.position, transform.position);
|
|
// canClickNewStatus = (distance <= info.ClickDistance);
|
|
|
|
// // 可单击状态发生改变(靠近或远离)
|
|
// if (CanClick != canClickNewStatus)
|
|
// {
|
|
// CanClick = canClickNewStatus;
|
|
|
|
// if (CanClick)
|
|
// {
|
|
// gameObject.AddComponent<ShowBoxCollider>();
|
|
// }
|
|
// else
|
|
// {
|
|
// Destroy(gameObject.GetComponent<ShowBoxCollider>());
|
|
// }
|
|
|
|
// if (CanClickStatusChanged != null)
|
|
// {
|
|
// CanClickStatusChanged();
|
|
// }
|
|
|
|
// // 启用或禁用选中控制组件
|
|
// if (sbc != null)
|
|
// {
|
|
// if (CanClick)
|
|
// {
|
|
// sbc.enabled = true;
|
|
// }
|
|
// else
|
|
// {
|
|
// sbc.enabled = false;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
}
|