写这篇博客的初心,是在学习ET框架时,看到UI组件的引用使用到ReferenceCollector这个类来保存需要引用的组件,但是这个类需要开发者自己定义组件名与拖动关系,想到开发中一个个的命名拖动有点麻烦,便自己写了一个引用方法来是实现自动命名与绑定.
首先在ReferenceCollector这个类中添加方法:
//规定需要绑定的组件的命名格式
private List<string> typeList = new List<string>() { "Com_", "Btn_", "InputTxt_", "Txt_", "Drop_","Tog_", "SView_", "Img_", "RImg_", "Obj_"};
/// <summary>
/// 自动生成引用关系
/// </summary>
public void AutoCreat()
{
data.Clear();
foreach (Transform child in transform.GetComponentsInChildren<Transform>())
{
foreach (string name in typeList)
{
if (child.name.Contains(name))
{
Add(child.name,child.gameObject);
break;
}
}
}
}
在ReferenceCollectorEditor.cs的OnEnable()中调用该方法 referenceCollector.AutoCreat(),这样在拼完界面后直接在界面顶部加上ReferenceCollector后就会自动调用生成引用关系.