1,[CanEditMultipleObjects]
using UnityEngine;
using UnityEditor;
[CanEditMultipleObjects]
[CustomEditor(typeof(UIRoot))]
public class UIRootEditor : Editor
{
public override void OnInspectorGUI ()
{
添加这个属性后可以编辑多个对象,如同时选中某几个对象,只要有“UIRoot”,都可以同时编辑这个脚本,否则则不能编辑多个脚本。
这 OnInspectorGUI 结尾加上保存的
serializedObject.ApplyModifiedProperties(); //保存已修改过的对象。
2,[ExecuteInEditMode] 在编辑某对象时,数据发生了变化,调用Update方法。
3,[AddComponentMenu("NGUI/UI/Root")] 添加组件命令。
[AddComponentMenu("NGUI/UI/Root")]
public class UIRoot : MonoBehaviour
{
/// <summary>
/// List of all UIRoots present in the scene.
/// </summary>
static public List<UIRoot> list = new List<UIRoot>();
public enum Scaling
{
Flexible,
Constrained,
ConstrainedOnMobiles,
}
效果如图