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);
}
}