Unity 自定义窗口

放在Editor文件夹下;
在这里插入图片描述

#if UNITY_EDITORusing System;
using UnityEditor;
using UnityEngine;namespace EditorCustumTool
{/// <summary>/// 自定义窗口/// </summary>public class CustomWindow : EditorWindow{public enum FlagType{Flag1 = 101,Flag2 = 102,Flag3 = 103,}private string text1 = "";private float number1 = 0;private string text2 = "";private float number2 = 0;private float sliderValue;private float scrollBarHorizontal;private float scrollBarVertical;private int gridIndex = 0;private int toolbarIndex = 0;private FlagType flag;private int popupindex;private bool isOn = false;private CustomWindow(){this.titleContent = new GUIContent("自定义窗口");}[MenuItem("自定义工具/自定义窗口")]private static void ShowWindow(){EditorWindow.GetWindow(typeof(CustomWindow));}private void OnGUI(){EditorGUILayout.BeginVertical();// 标题GUILayout.Space(10);GUI.skin.label.fontSize = 15;GUI.skin.label.alignment = TextAnchor.MiddleCenter;GUILayout.Label("自定义窗口");// 内容        GUI.skin.label.fontSize = 12;GUI.skin.label.alignment = TextAnchor.UpperLeft;GUILayout.Space(10);GUILayout.BeginHorizontal();GUILayout.Label("文本1", GUILayout.MaxWidth(60));text1 = EditorGUILayout.TextArea(text1, GUILayout.MaxHeight(20));GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();GUILayout.Label("数值1", GUILayout.MaxWidth(60));number2 = EditorGUILayout.FloatField(number2, GUILayout.MaxHeight(20));GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();text1 = EditorGUILayout.TextField("文本2", text1);GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();number2 = EditorGUILayout.FloatField("数值2", number2);GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();sliderValue = EditorGUILayout.Slider("滑动条", sliderValue, -5, 5);GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();scrollBarHorizontal = GUILayout.HorizontalScrollbar(scrollBarHorizontal, 0, 0, 100, new[] { GUILayout.Width(100) });scrollBarVertical = GUILayout.VerticalScrollbar(scrollBarVertical, 0, 0, 100, new[] { GUILayout.Height(100) });GUILayout.EndHorizontal();// 按钮控件GUILayout.Space(10);GUILayout.BeginHorizontal();gridIndex = GUILayout.SelectionGrid(gridIndex, new[] { "1", "2", "3", "4", "5", "6" }, 4);GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();toolbarIndex = GUILayout.Toolbar(toolbarIndex, new[] { "1", "2", "3", "4", "5", "6" });GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();// 这个单选flag = (FlagType)EditorGUILayout.EnumPopup(new GUIContent("FlagType", null, "ToolTip"), flag);// 这个可以多选//flag = (FlagType)EditorGUILayout.EnumFlagsField(new GUIContent("FlagType", null, "ToolTip"), flag);GUILayout.EndHorizontal();GUILayout.Space(10);GUILayout.BeginHorizontal();//一个选择框,每个选择框里表示一个Int数popupindex = EditorGUILayout.IntPopup("IntPopup", popupindex, new[] { "a", "b", "c" }, new[] { 1, 2, 3 });GUILayout.EndHorizontal();// 展示信息GUILayout.Space(10);var noSelected = Selection.transforms == null || Selection.transforms.Length == 0;var message = noSelected ? "请选择一个物体" : $"当前选中了{Selection.transforms.Length}个物体";var messageType = noSelected ? MessageType.Error : MessageType.Info;EditorGUILayout.HelpBox(message, messageType);EditorGUILayout.Space(10);if (GUILayout.Button("打印选中的物体名"))DebugSelectedObjName();GUILayout.EndVertical();}private void DebugSelectedObjName(){if (Selection.transforms.Length > 0){foreach (var trans in Selection.transforms)Debug.LogError(trans.name);}else{Debug.LogError("当前没选中任何物体");}}}
}#endif

效果如图所示
在这里插入图片描述

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

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

相关文章

【基于ESP32无线蓝牙上传电脑Excel透传数据】

【基于ESP32无线蓝牙上传电脑透传数据】 1. 引言2. 环境搭建2.1 硬件准备:2.2 软件准备:2.3. 配置Excel端口接收功能3. 测试代码4. 连接电脑和 ESP324.1 烧录程序4.2 启动蓝牙服务4.3 测试数据透传5. 总结1. 引言 随着物联网技术的发展,越来越多的设备开始支持无线通信,其…

fl studio2024官方体验版如何破解?

fl studio2024全称Fruity Loops Studio2024&#xff0c;这款软件也被人们亲切的称之为水果&#xff0c;它是一款功能强大的音乐创作编辑软件&#xff0c;拥有全功能的录音室&#xff0c;大混音盘以及先进的音乐制作工具&#xff0c;用户通过使用该软件&#xff0c;就可以轻松制…

轻量封装WebGPU渲染系统示例<43>- 材质组装流水线(MaterialPipeline)之灯光和阴影(源码)

目标: 数据化&#xff0c;模块化&#xff0c;自动化 备注: 从这个节点开始整体设计往系统规范的方向靠拢。之前的都算作是若干准备。所以会和之前的版本实现有些差异。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sa…

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(2020)

文章目录 -Abstract1. Introductiondiss former methodour method 2. Related Work3. Compound Model Scaling3.1. 问题公式化3.2. Scaling Dimensions3.3. Compound Scaling 4. EfficientNet Architecture5. Experiments6. Discussion7. Conclusion 原文链接 源代码 - 本文中…

LeNet

概念 代码 model import torch.nn as nn import torch.nn.functional as Fclass LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__() # super()继承父类的构造函数self.conv1 nn.Conv2d(3, 16, 5)self.pool1 nn.MaxPool2d(2, 2)self.conv2 nn.Conv2d(16…

Bash脚本处理ogg、flac格式到mp3格式的批量转换

现在下载的许多音乐文件是flac和ogg格式的&#xff0c;QQ音乐上下载的就是这样的&#xff0c;这些文件尺寸比较大&#xff0c;在某些场合使用不便&#xff0c;比如在车机上播放还是mp3格式合适&#xff0c;音质这些在车机上播放足够了&#xff0c;要求不高。比如本人就喜欢下载…

软件接口安全设计规范

《软件项目接口安全设计规范》 1.token授权机制 2.https传输加密 3.接口调用防滥用 4.日志审计里监控 5.开发测试环境隔离&#xff0c;脱敏处理 6.数据库运维监控审计

卷王开启验证码后无法登陆问题解决

问题描述 使用 docker 部署&#xff0c;后台设置开启验证&#xff0c;重启服务器之后&#xff0c;docker重启&#xff0c;再次访问系统&#xff0c;验证码获取失败&#xff0c;导致无法进行验证&#xff0c;也就无法登陆系统。 如果不了解卷王的&#xff0c;可以去官网看下。…

飞天使-linux操作的一些技巧与知识点3

http工作原理 http1.0 协议 使用的是短连接&#xff0c;建立一次tcp连接&#xff0c;发起一次http的请求&#xff0c;结束&#xff0c;tcp断开 http1.1 协议使用的是长连接&#xff0c;建立一次tcp的连接&#xff0c;发起多次http的请求&#xff0c;结束&#xff0c;tcp断开ngi…

ky10 server x86 设置网卡开机自启

输入命令查看网卡名称 ip a 输入命令编辑网卡信息 vi /etc/sysconfig/network-scripts/*33改成yes 按ESC键&#xff0c;输入:wq&#xff0c;保存

Aloha 机械臂的学习记录2——AWE:AWE + ACT

继续下一个阶段&#xff1a; Train policy python act/imitate_episodes.py \ --task_name [TASK] \ --ckpt_dir data/outputs/act_ckpt/[TASK]_waypoint \ --policy_class ACT --kl_weight 10 --chunk_size 50 --hidden_dim 512 --batch_size 8 --dim_feedforward 3200 \ --n…

Python网络爬虫环境的安装指南

网络爬虫是一种自动化的网页数据抓取技术&#xff0c;广泛用于数据挖掘、信息搜集和互联网研究等领域。Python作为一种强大的编程语言&#xff0c;拥有丰富的库支持网络爬虫的开发。本文将为你详细介绍如何在你的计算机上安装Python网络爬虫环境。 一、安装python开发环境 进…

bc-linux-欧拉重制root密码

最近需要重新安装虚拟机的系统 安装之后发现对方提供的root密码不对&#xff0c;无法进入系统。 上网搜了下发现可以进入单用户模式进行密码修改从而重置root用户密码。 在这个界面下按e键 找到图中部分&#xff0c;把标红的部分删除掉&#xff0c;然后写上rw init/bin/…

24、文件上传漏洞——Apache文件解析漏洞

文章目录 一、环境简介一、Apache与php三种结合方法二、Apache解析文件的方法三、Apache解析php的方法四、漏洞原理五、修复方法 一、环境简介 Apache文件解析漏洞与用户配置有密切关系。严格来说&#xff0c;属于用户配置问题&#xff0c;这里使用ubantu的docker来复现漏洞&am…

IOday7作业

1> 使用无名管道完成父子进程间的通信 #include<myhead.h>int main(int argc, const char *argv[]) {//创建存放两个文件描述符的数组int fd[2];int pid -1;//打开无名管道if(pipe(fd) -1){perror("pipe");return -1;}//创建子进程pid fork();if(pid &g…

非标设计之电磁阀

电磁阀&#xff1a; 分类&#xff1a; 动画演示两位三通电磁阀&#xff1a; 两位三通电磁阀动画演示&#xff1a; 111&#xff1a; 气缸回路的介绍&#xff1a; 失电状态&#xff1a; 电磁阀得电状态&#xff1a; 两位五通电磁阀的回路&#xff1a;&#xff08;常用&#xf…

算数运算符和算数表达式

基本算数运算符 算数运算符&#xff1a; &#xff08;加法运算符或正值运算符&#xff09;、-&#xff08;减法运算符或负值运算符&#xff09;、*&#xff08;乘&#xff09;、/&#xff08;除&#xff09;、%&#xff08;求余数&#xff09; 双目运算符&#xff1a; 双目…

CGAL的2D符合规定的三角剖分和网格

1、符合规定的三角剖分 1.1、定义 如果三角形的任何面的外接圆在其内部不包含顶点&#xff0c;则该三角形是 Delaunay 三角形。 约束 Delaunay 三角形是一种尽可能接近 Delaunay 的约束三角形。 约束 Delaunay 三角形的任何面的外接圆在其内部不包含从该面可见的数据点。 如果…

陀螺仪LSM6DSV16X与AI集成(3)----读取融合算法输出的四元数

陀螺仪LSM6DSV16X与AI集成.2--姿态解算 概述视频教学样品申请完整代码下载使用demo板生成STM32CUBEMX串口配置IIC配置CS和SA0设置串口重定向参考程序初始化SFLP步骤初始化SFLP读取四元数数据演示 概述 LSM6DSV16X 特性涉及到的是一种低功耗的传感器融合算法&#xff08;Sensor…

MySQL之创建时间类型的字段表

mysql之创建时间类型的字段表 CREATE TABLE tab(birthday DATE, -- 生日job_time DATETIME, -- 记录年月日时分秒login_time TIMESTAMP -- 时间戳NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )解释&#xff1a; NOT NULL DEFAULT &#xff1a;默认不为空…