Unity深入讲解Unity技术分享征服Unity3d

Unity 实现最简单的脚本编辑器

2016-02-21  本文已影响739人  2b75747cf703

利用此方法也可以对DefaultAsset类型资源自定义编辑器,比如.lua文件。

using UnityEngine;
using UnityEditor;
using System.IO;

[CustomEditor(typeof(MonoScript))]

public class MonoScriptEditor : Editor
{
    private string assetPath;

    private string originalText;
    private string modifiedText;

    void Awake()
    {
        GUI.enabled = true;

        assetPath = AssetDatabase.GetAssetPath(target);

        originalText = File.ReadAllText(assetPath);
        modifiedText = originalText.Clone() as string;
    }

    void OnDestroy()
    {
        if(modifiedText != originalText)
        {
            if (EditorUtility.DisplayDialog("", "是否保存 " + assetPath + " ?", "确定", "取消"))
            {
                File.WriteAllText(assetPath, modifiedText);
                AssetDatabase.Refresh();
            }
        }
    }

    public override void OnInspectorGUI()
    {
        modifiedText = EditorGUILayout.TextArea(modifiedText);
    }
}
上一篇下一篇

猜你喜欢

热点阅读