码迷,mamicode.com
首页 > 编程语言 > 详细

Unity编辑器扩展Texture显示选择框

时间:2015-02-10 00:21:10      阅读:410      评论:0      收藏:0      [点我收藏+]

标签:

学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=.

Unity开发了组件Inspector视图扩展API,如果我们要写插件方便别人来使用,使用编辑器扩展API让我们的组件显示的更华丽,使用方便

 

Texture弹出选择框选中图片赋值:

1个组件对应1个Edit扩展器,继承Editor必须让入Editor文件夹下

技术分享

MyComponent:

using UnityEngine;
using System.Collections;

public class MyComponent : MonoBehaviour {

    //不让字段显示在Inspector视图上面
    [SerializeField]
    private Rect rectValue;
    [SerializeField]
    private Texture texture;

    public Texture Texture
    {
        get { return texture; }
        set { texture = value; }
    }
    public Rect RectValue
    {
        get { return rectValue; }
        set { rectValue = value; }
    }
}

MyComponentEdit编辑器:

using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(MyComponent))]
public class MyComponentEdit : Editor 
{
    public override void OnInspectorGUI() 
    {
        MyComponent edit = (MyComponent)target;
        edit.RectValue = EditorGUILayout.RectField("窗口坐标", edit.RectValue);     

        //将贴图属性,以选择框形式显示在Inspector视图上面,方便我们选择贴图
        edit.Texture = EditorGUILayout.ObjectField("增加一个贴图", edit.Texture, typeof(Texture), true) as Texture;
    }
}

技术分享

 

 

本文固定链接: http://www.xuanyusong.com/archives/2202

转载请注明: 雨松MOMO 2013年04月11日 于 雨松MOMO程序研究院 发表

Unity编辑器扩展Texture显示选择框

标签:

原文地址:http://www.cnblogs.com/plateFace/p/4282729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!