Unity重写Inspector简化分组配置文件

news2024/9/25 17:11:18

Unity重写Inspector简化分组配置文件

  • 重写Inspector创建分组管理配置文件
  • 创建
  • 修改参数
  • 参数对应类
  • 工程在我的资源中名为CreateConfig,免费下载

重写Inspector创建分组管理配置文件

创建

在这里插入图片描述
在这里插入图片描述

修改参数

在这里插入图片描述

参数对应类

using UnityEngine;

public class GameConfig : ScriptableObject {

    /// <summary>
    /// float参数
    /// </summary>
    public float test_float = 10f;

    /// <summary>
    /// vector3参数
    /// </summary>
    public Vector3 test_vector3 = Vector3.zero;

    /// <summary>
    /// bool参数
    /// </summary>
    public bool test_bool = false;

    /// <summary>
    /// int参数
    /// </summary>
    public int test_int = 1;

    /// <summary>
    /// slider参数
    /// </summary>
    public float test_slider = 0.1f;

    /// <summary>
    /// text参数
    /// </summary>
    public string test_text = "";

    /// <summary>
    /// toggle参数
    /// </summary>
    public bool test_toggle = false;
}

using System;
using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(GameConfig))]
public class GameConfigInspector : HKBaseEditor {

    /// <summary>
    /// 配置表
    /// </summary>
    private GameConfig config;

    private string[] MenuItems = new string[] { "Save" };

    /// <summary>
    /// 绘制
    /// </summary>
    public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI(); //如果需要分组配置需将其注释

        config = (GameConfig)target;
        AddToolBar(MenuItems, OnEventSave);


        HKContentBlock.DrawContent("配置测试1", () =>
        {
            //配置1
            HKEditorHelper.DrawFloatFieldLayout("float参数", ref config.test_float);
            HKEditorHelper.DrawVector3Layout("float参数", ref config.test_vector3);
            HKEditorHelper.DrawSliderLayout("slider参数", ref config.test_slider);
            HKEditorHelper.DrawToggleLayout("toggle参数", ref config.test_toggle);
        });

        HKContentBlock.DrawContent("配置测试2", () =>
        {
            config.test_bool = HKEditorHelper.DrawBoolLayout("bool参数", config.test_bool);
            config.test_int = HKEditorHelper.DrawIntFieldLayout("int参数", config.test_int);
            config.test_text = HKEditorHelper.DrawTextFiledLayout("text参数", config.test_text);
        });

    }

    /// <summary>
    /// 保存
    /// </summary>
    private void OnEventSave()
    {
        EditorUtility.SetDirty(config);
        AssetDatabase.SaveAssets();
    }


    [MenuItem("ETools/CreateGameConfig")]
    public static void Create()
    {
        CreateAsset<GameConfig>("Assets/Resources/GameConfig.asset");
    }
}

工程在我的资源中名为CreateConfig,免费下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1334624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS样式斜切边

html部分 <div class"rectangle"></div> 样式一&#xff1a; .rectangle { width: 251px; height: 75px; background: linear-gradient(-135deg, transparent 52px, #ffffff 0) top right; background-size: 100% 100%; background-repeat: no-repeat; b…

Mybatis的关联查询(association和collection)

关联查询 实体间的关系&#xff08;拥有 has、属于 belong&#xff09; OneToOne&#xff1a;一对一关系&#xff08;account ←→ user&#xff09; OneToMany&#xff1a;一对多关系&#xff08;user ←→ account&#xff09; ManyToMany&#xff1a;多对多关系&#xff0…

windows中python3创建虚拟环境

当我们在创建一个python项目时&#xff0c;经常需要安装一堆库&#xff0c;然后转到另一个项目&#xff0c;却发现依赖冲突了&#xff0c;人都麻了。所以创建虚拟环境就是解决这个大麻烦的。 什么是虚拟环境&#xff1f; 虚拟环境是Python的一个工具&#xff0c;支持我们在一…

kubectl 删除 namespace 卡住

执行删除 namespace 后处于卡顿已经3个多小时了 按照网上的 --force 和 --force --grace-period0 都没用&#xff0c;还是删不掉 在外面看到了一篇文章&#xff0c;试了之后有效&#xff0c;原文地址 懒得跳转也可以看我这个&#xff0c;一样的 删除步骤 首先将 namespace 的信…

50 个具有挑战性的概率问题 [01/50]:袜子抽屉

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒&#xff08;Frederick Mosteller&#xff09;的《概率论中的五十个具有挑战性的问题与解决方案》&#xff08;Fifty Challenge Problems in Probability with Solutions&#xff09;一书。我认为…

如何使用Docker部署Dashy并无公网ip远程访问管理界面

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…

调用哪些API可以实现批量抓取京东平台商品详情数据?

前段有客户提出需求&#xff0c;说需要批量抓取京东的商品数据&#xff0c;需要我们将代码对接好。实现批量抓取商品数据&#xff0c;主要是用到关键字搜索接口item_search和获取商品详情数据item_get、获取店铺所有商品item_search_shop。 item_search-按关键字搜索商品 请求…

C++ Qt开发:Charts折线图绑定事件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍QCharts折线图的常用方法及灵活运用。 在上一…

Codeforces Round 917 (Div. 2)(A~D)

A - Least Product Solution 观察发现&#xff0c;对于 a i < 0 a_i<0 ai​<0&#xff0c;操作后 a i a_i ai​ 不会变得更小&#xff0c; a i > 0 a_i>0 ai​>0&#xff0c;操作后 a i a_i ai​ 不会变得更大。所以&#xff0c;当 ∏ i 1 n a i ≥ 0…

智能优化算法应用:基于沙猫群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于沙猫群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于沙猫群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.沙猫群算法4.实验参数设定5.算法结果6.参考文…

[音视频]H264码流分析工具

[音视频]H264码流分析工具 CTI-TS EasyICE Elecardstreameyetools VideoEye H264VideoESViewer 学习H264码流&#xff0c;H264码流进行分析 http://blog.csdn.net/leixiaohua1020/article/details/17933821 H264BSAnalyzer https://github.com/latelee/H264BSAnalyzer.g…

Postman创建及删除workspace工作空间

文章目录 一、Postman创建workspace工作空间二、Postman删除workspace工作空间 一、Postman创建workspace工作空间 打开Postman 点击 Workspaces → Create Workspaces 如图所示操作 工作空间创建完成 二、Postman删除workspace工作空间 点击 Workspaces → 选择要删除…

如何使用JuiceSSH实现手机端远程连接Linux服务器

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

KnowLM知识抽取大模型

文章目录 KnowLM项目介绍KnowLM项目的动机ChatGPT存在的问题 基于LLama的知识抽取的智析大模型数据集构建及训练过程预训练数据集构建预训练训练过程指令微调数据集构建 指令微调训练过程开源的数据集及模型局限性信息抽取Prompt 部署环境配置模型下载预训练模型使用LoRA模型使…

EDSR训练及测试教程

EDSR训练及测试教程 超分重建经典算法EDSR开源代码使用教程。 论文名称:Enhanced Deep Residual Networks for Single Image Super-Resolution,CVPR2017。 训练自己的数据集 由于EDSR开源代码只针对DIV2K数据集,在数据集加载时很多代码已经固定,因此在这里使用固定的文…

Web Components入门不完全指北

目前流行的各类前端框架&#xff0c;不管是react, angular还是vue&#xff0c;都有一个共同点&#xff0c;那就是支持组件化开发&#xff0c;但事实上随着浏览器的发展&#xff0c;现在浏览器也原生支持组件式开发&#xff0c;本文将通过介绍Web Components 的三个主要概念&…

RPC 实战与原理

文章目录 什么是 RPC&#xff1f;RPC 有什么作用&#xff1f;RPC 步骤为什么需要序列化&#xff1f;零拷贝什么是零拷贝&#xff1f;为什么需要零拷贝&#xff1f;如何实现零拷贝&#xff1f;Netty 的零拷贝有何不同&#xff1f; 动态代理实现HTTP/2 特性为什么需要服务发现&am…

Linux上iPortal 配置80端口的http

作者&#xff1a;yx 文章目录 前言方法一、配置使用外置ES1、关闭启用 iPortal 内置的 ES2、修改80端口3、启动外置ES4、启动iPortal5、结果验证 方法二、更改 Linux 系统配置1. 安装 Authbind2. 启用端口的读取和执行权限3. 在 Apache Tomcat 上启用 Authbind4. 重启iPortal5.…

向华为学习:IPD运作-PDP产品开发流程-计划阶段的关键活动

昨天&#xff0c;华研荟为您分享了IPD体系中产品开发流程第一个阶段&#xff1a;概念阶段的主要内容和关键活动。严格来说&#xff0c;IPD体系中的产品开发过程叫做PDP流程&#xff0c;不过很多时候直接叫做IPD流程&#xff0c;就指的是产品开发这个流程&#xff0c;不包括MM市…

软件压力测试究竟是如何工作的?详细分析步骤!

软件测试过程中的步骤之一是压力测试&#xff0c;所谓压力测试&#xff0c;就是让被测系统在接入压力下稳定运行。比如让10000个用户同时访问一个网站&#xff0c;看看网站是否崩溃或者变慢&#xff0c;这就是压力测试。那么压力测试究竟是如何工作的呢?本文将详细分析压力测试…