Unity Editor 知识点整理(创建自定义Inspector 一)

在Unity中创建Editor文件夹,自定义的查看器脚本必须放在Editor文件夹下,然后再创建Scripts文件夹,一般Mono的脚本都会放在这个文件夹下。
在Scripts文件夹下 创建Level脚本,申明一个public变量 totalTime
在Editor文件夹下,创建Level Inspector脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using RunAndJump;

namespace RunAndJump
{
    
    
    [CustomEditor(typeof(Level))]
    public class LevelInspector : Editor
    {
    
    
        private Level _myTarget;

        //在我们对象被选中的时候调用的,常常用于一些初始化的代码
        private void OnEnable()
        {
    
    
            Debug.Log("OnEnable");
            //为哪个对象写查看器 target就是哪个对象
            //target的类型 是Object,需要转换类型
            _myTarget = (Level)target;
        }

        //在对象超出我们操作范围内调用的
        //在对象被销毁的时候调用的
        //可以用来做一些代码退出前的清理工作(数组清零,变量重置)
        private void OnDisable()
        {
    
    
            Debug.Log("OnDisable");
        }

        //在对象被销毁的时候调用的
        private void OnDestroy()
        {
    
    
            Debug.Log("OnDestroy");
        }

        //绘制查看器GUI的回调函数
        //必须是public,为了使自定义的查看起生效 必须重载
        public override void OnInspectorGUI()
        {
    
    
            //查看器输出文本
            EditorGUILayout.LabelField("这个inspector的GUI被修改了");
            EditorGUILayout.LabelField("当前关卡时间:"+_myTarget.TotalTime);
        }
    }
}

可以看到,挂载level脚本的对象的查看器变成了如下样子
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43388137/article/details/122219702
今日推荐