zoukankan      html  css  js  c++  java
  • unity 扩展编辑器一(修改编辑器名称)

    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;
     
    	}
    }
    

    前后对比

  • 相关阅读:
    7-4
    7-3
    第五章例5-2
    第五章例5-1
    第四章例4-12
    第四章例4-11
    第四章例4-10
    第四章例4-9
    第四章例4-8
    第四章例4-7
  • 原文地址:https://www.cnblogs.com/yufenghou/p/7039293.html
Copyright © 2011-2022 走看看