unity 的 CanEditMultipleObjects属性
作者:
流飞飞FW | 来源:发表于
2021-10-21 15:33 被阅读0次
- CanEditMultipleObjects属性一般和[CustomEditor(typeof(***))]属性一起使用。
- 在Inspector面板同时编辑多个对象属性时,其实是对最后一个物体做修改,需要自己修改其他选中对象的属性:
[CanEditMultipleObjects]
[CustomEditor(typeof(Card))]
public class CardInspector : UnityEditor.Editor
{
Card m_card;
private void OnEnable()
{
//target即当前编辑器中选中的对象;如果同时选中多个,target则为Hierarchy视图中选中的最后一个
m_card = target as Card;
//通过targets获取编辑器中选中的多个对象
var cards = targets;
}
public override void OnInspectorGUI()
{
DrawDefaultInspector();
//支持多重编辑
//在Inspector面板同时编辑多个对象属性时,其实是对最后一个物体做修改,需要自己修改其他选中对象的属性
if (GUI.changed)
{
for (int i = 0; i < targets.Length; i++)
{
var card = targets[i] as EditorCard;
if (card == m_card)
{
continue;
}
//TODO:修改选中对象的属性
}
}
}
}
本文标题:unity 的 CanEditMultipleObjects属性
本文链接:https://www.haomeiwen.com/subject/igifaltx.html
网友评论