我们有时候可能需要在面板增加一些引用,可能添加脚本后要手动拖动,这样如果有大量的脚本拖动也是不小的工作量
实例
例如:我的脚本需要添加一个Bone的列表,一个个拖动很麻烦。
 

实现脚本
我们可以用这样的脚本来实现。
public class FingerDyBone : MonoBehaviour
{
    public DynamicBoneCollider[] boneArray = null;
#if UNITY_EDITOR
   
    [ContextMenu("加入所有碰撞体")]
    private void MenuAddBone()
    {
        boneArray = GetComponentsInChildren<DynamicBoneCollider>();
        UnityEditor.EditorUtility.SetDirty(this);
    }
    void OnValidate()
    {
        Debug.Log("OnValidate");
        if (boneArray == null) MenuAddBone();
    }
#endif
}
 
ContextMenu是菜单,添加这个可以手动调用函数。
 
 如果手动麻烦还可以自动添加,那么可以借助OnValidate函数,在添加脚本或者改变属性的时候会自动执行。解决这个原理就可以在添加脚本的时候自动添加。
最终效果

 那么这样就比较事半功倍了。



















