using System.Collections; using System.Collections.Generic; using UnityEngine; using AX.MessageSystem; public abstract class BaseAttributeSet : MonoBehaviour { public GameObject chooseObj; /// /// 打开属性设置面板 /// 需要重写,在重写方法里打开属性设置面板。(因各种属性设置窗口有自己的是否能打开的逻辑) /// public virtual void OpenPanel() { LoadObjData(); } /// /// 读取物体身上存储的数据,加载到属性设置的UI窗口上 /// public abstract void LoadObjData(); /// /// 重置物体属性 /// /// 需要重置属性的物体 public virtual void ResetData(GameObject dataObj) { } public virtual void OnEnable() { MessageDispatcher.SendMessage("CANCEL_CLONEBTN_SELECTED_COMMAND"); MessageDispatcher.AddListener("DELETE_ALL_COMMAND",Close); MessageDispatcher.AddListener("DELETE_COMMAND",Close); MessageDispatcher.AddListener("GROUP_DISMISS", Close);//删除组 } public virtual void OnDisable() { MessageDispatcher.RemoveListener("DELETE_ALL_COMMAND", Close); MessageDispatcher.RemoveListener("DELETE_COMMAND", Close); MessageDispatcher.RemoveListener("GROUP_DISMISS", Close);//删除组 } public virtual void OnDestroy() { MessageDispatcher.RemoveListener("DELETE_ALL_COMMAND", Close); MessageDispatcher.RemoveListener("DELETE_COMMAND", Close); MessageDispatcher.RemoveListener("GROUP_DISMISS", Close);//删除组 } private void Close(IMessage msg) { gameObject.SetActive(false); } }