您的位置:首页 > 移动开发 > Unity3D

unity 扩展编辑器一(修改编辑器名称)

2017-06-17 08:50 691 查看
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour {

[HideInInspector][SerializeField] Rect pRectValue;

public Rect mRectValue
{
get
{
return pRectValue;
}
set
{
pRectValue = value;
}
}

[HideInInspector][SerializeField] Texture pTexture;
public Texture texture
{
get
{
return pTexture;
}
set
{
pTexture = value;
}
}
}


[HideInInspector][SerializeField] 隐藏数据在面板,并且序列化。它可以帮我们永久保存数据,如果不加的话数值就会重置。就好比我先添加了一个贴图,一运行游戏刚刚添加的贴图就变成null了。




新建一个Editor文件夹,将MyEditor放到这个文件夹中,不需要挂在到gameobject上。


using UnityEditor;
using UnityEngine;

//自定义Tset脚本
[CustomEditor(typeof(Test))]
//在编辑模式下执行脚本,这里用处不大可以删除。
[ExecuteInEditMode]
//请继承Editor
public class MyEditor : Editor
{
//在这里方法中就可以绘制面板。
public override void OnInspectorGUI()
{
//得到Test对象
Test test = (Test) target;
//绘制一个窗口
test.mRectValue = EditorGUILayout.RectField("窗口坐标",
test.mRectValue);
//绘制一个贴图槽
test.texture =  EditorGUILayout.ObjectField("增加一个贴图",test.texture,typeof(Texture),true) as Texture;

}
}


前后对比





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: