using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; public class BaseShow : MonoBehaviour { /// /// 数据信息 /// public Data info; /// /// 是否可以单击 /// public bool CanClick = true; /// /// 点击状态改变事件 /// public event UnityAction CanClickStatusChanged; ///// ///// 点击状态 ///// //bool canClickNewStatus; //// 临时距离 //float distance; /// /// 选中控制组件 /// public ShowBoxCollider sbc; void Awake() { sbc = GetComponent(); } public void OnStatusChange() { if (CanClickStatusChanged != null) { CanClickStatusChanged(); } } ~BaseShow() { // ShowController.Instance.RemoveShow(this); } public virtual void OnClick() { } bool IsMaskShow { get { sbc = GetComponent(); 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(); // } // else // { // Destroy(gameObject.GetComponent()); // } // if (CanClickStatusChanged != null) // { // CanClickStatusChanged(); // } // // 启用或禁用选中控制组件 // if (sbc != null) // { // if (CanClick) // { // sbc.enabled = true; // } // else // { // sbc.enabled = false; // } // } // } // } //} }