Unity烂笔头1-自定义INSPECTOR属性窗口节点项

1.添加输入框和标签

LevelScript:

using UnityEngine;
using System.Collections;

public class LevelScript : MonoBehaviour
{
    public int experience;

    public int Level
    {
        get { return experience / 750; }
    }
}

LevelScriptEditor

注意:在

OnInspectorGUI

事件中加入以下代码会 附加上默认的 属性:

  DrawDefaultInspector();
sing UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(LevelScript))]
public class LevelScriptEditor : Editor
{
    public override void OnInspectorGUI()
    {
        LevelScript myTarget = (LevelScript)target;

        myTarget.experience = EditorGUILayout.IntField("Experience", myTarget.experience);
        EditorGUILayout.LabelField("Level", myTarget.Level.ToString());
    }
}

效果:

2.添加按钮

ObjectBuilderScript

using UnityEngine;
using System.Collections;

public class ObjectBuilderScript : MonoBehaviour
{
    public GameObject obj;
    public Vector3 spawnPoint;

    public void BuildObject()
    {
        Instantiate(obj, spawnPoint, Quaternion.identity);
    }
}

ObjectBuilderEditor

using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(ObjectBuilderScript))]
public class ObjectBuilderEditor : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        ObjectBuilderScript myScript = (ObjectBuilderScript)target;
        if(GUILayout.Button("Build Object"))
        {
            myScript.BuildObject();
        }
    }
}
时间: 2024-11-05 02:47:29

Unity烂笔头1-自定义INSPECTOR属性窗口节点项的相关文章

好记性不如烂笔头62-HTML中meta 属性和含义

最近要了解一些HTML中meta的一些东西,很多东西不清楚,在网上搜索,发现很多是错误的,自己干脆整理一下. meta是用来在HTML文档中模拟HTTP协议的响应头报文. meta 标签用于网页的<head>与</head>之间,meta 标签的用处很多. meta 的属性有两种:name和http- equiv.name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找.分类(目前主流搜索引擎都使用网上机器人自动查找meta值来给网页分类).这其中最

好记性不如烂笔头35-java监听windows窗口事件Listener(2)

java监听windows窗口事件,现在几乎用的很少了. 当初我还在大学求学的时候,刚开始学习JAVA,对于它监听windows窗口事件,其实花费了非常多的精力.自己不是一个很机灵的人,很多的概念怎么看也不是很明白,很多的逻辑只能靠死记硬背,很多的概念记住了很快又忘记了- 当年的JAVA,还是没有放弃桌面应用这个领域,这些年过去了,java在PC的桌面应用上几乎是一败涂地,倒是在互联网和移动设备上大放光彩,至少这些,是我当初学习的时候不曾想到的. 这种类似的功能,现在几乎已经基本没有了用武之地.

【Unity C#编程】自定义数据

译林军 灰魅|2014-03-04 10:52|10589次浏览|Unity(315)移动应用(31)技术开发(16)0 在这篇Unity C#的文章中,你将会创建一个简单的数据结构,然后写下它的属性抽屉. 下面你将会学到如何创建. 使用一个序列化的类 创建一个自定义的属性抽屉 使用序列化属性 在编辑器里面使用Unity的立即窗口GUI模式 在此之前,你需要了解Unity的编辑器,以及Uinty C#的一些脚本.如果你已经学习了一些其它的课程,这将会让你更加容易上手. 这篇文章适合Unity 4

自定义Inspector检视面板

Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型:(2)自定义类型,并使用[System.Serializable]关键字序列化,比如: [System.Serializable] public class TestClass { public Vector3 vec = Vector3.zero; public Color clr = Color.green; } 也可以使用[System.NonSerialized]标记不需要显示的属性,

【Unity】7.6 自定义输入

分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在Unity中可以创建自定义的虚拟按键,然后将设备的输入映射到自定义的按键上.使用虚拟按键的好处是可以让游戏玩家自己定义按键,满足个性化的操作习惯. 创建虚拟按键的方法是依次打开菜单栏中的[Edit]->[Project Setting]->[Input]项,在Inspector视图中会显示当前的虚拟按键列表和参数. 虚拟按键属于输入轴(Axis)的一种特殊情况,在输入管理器中,都统一视为输入轴. Unity默认创

自定义ScriptableObject属性显示

自定义ScriptableObject属性显示的三种方式 1. 继承Editor,重写OnInspectorGUI方法 Editor官方文档 需求 将TestClass中intData属性和stringData按指定格式显示. 实现 定义一个测试类TestClass,一个可序列化类DataClass [CreateAssetMenu] public class TestClass : ScriptableObject { [Range(0, 10)] public int intData; pu

制作自定义样式的窗口

不使用windows自带的窗口样式,使用自定义的客户区, <Window xmlns:my="clr-namespace:MiniFileTransferClient.Presentation.WPF.UILogic.ShowPanels" x:Class="MiniFileTransferClient.Presentation.WPF.MiniFileTransferViewer" xmlns="http://schemas.microsoft.c

好记性不如烂笔头89-spring3学习(10)-spring3常用schema(持续整理)

Spring3有很多的schema,这些schema对应很多不同的功能.使用这些常用的schema,能让我们避免重复发明轮子,提高我们的开发效率. 我以为这是一个很常见的信息,到网上随便整理下就能完成,可能用的关键词不对,怎么找也没有找到相对比较全面的. 正所谓,好记性不如烂笔头,自己动手把自己能收集到的整理下来,以后需要找资料也能方便点. spring-beans-3.0.xsd 用途:spring3最主要的schema,用于配置bean 命名空间: http://www.springfram

读《深入理解Windows Phone 8.1 UI控件编程》1.4.3 框架的应用示例:自定义弹出窗口有感

前些天买了园子里林政老师的两本 WP8.1 的书籍.毕竟想要学得深入的话,还是得弄本书跟着前辈走的. 今天读到 1.4.3 节——框架的应用示例:自定义弹出窗口这一小节.总的来说,就是弄一个像 MessageDialog 的,但是又要具有能定义 Dialog 内的按钮.文本等等的功能(例如颜色.字体大小这些).(先不说 ContentDialog ,即内容对话框能大部分做到) 原理是使用了一个 Popup 控件作为弹出窗口的容器,将 Popup 的 Child 属性赋值为弹出窗口的实例.在书中,