unity编辑器扩展_07(创建对话框,检测按钮的点击,点击按钮后提示信息,保存设置的数据,显示点击按钮后的处理的进度条信息)...
代码:
using UnityEditor;
using UnityEngine;
public class ChangeValue : ScriptableWizard {
public int health = 10;
public int speed = 23;
[MenuItem("Tools/CreateWizard")]
static void CreateWizard()
{
ScriptableWizard.DisplayWizard<ChangeValue>("这是自己创建的标题", "按钮1的名字","按钮2的名字");
}
void OnWizardCreate()
{
ShowNotification(new GUIContent(Selection.gameObjects.Length + "多个游戏物体被改变"));//显示提示信息
GameObject[] gameObject = Selection.gameObjects;
EditorUtility.DisplayProgressBar("这是进度条的标题", "进度信息", 0);
int count = 0;
foreach (GameObject go in gameObject)
{
count++;
CompleteProject.PlayerHealth ph = go.GetComponent<CompleteProject.PlayerHealth>();
Undo.RecordObject(ph,"ph");//对点击事件的撤销功能
ph.startingHealth += health;
ph.flashSpeed += speed;
EditorUtility.DisplayProgressBar("这是进度条标题", "进度信息", count / Selection.gameObjects.Length);
}
EditorUtility.ClearProgressBar();
}
void OnWizardOtherButton()
{
OnWizardCreate();
}
const string healtKey = "health";
const string speedKey = "speed";
void OnEnable()
{
health = EditorPrefs.GetInt(healtKey, health);
speed = EditorPrefs.GetInt(speedKey, speed);
}
void OnWizardUpdate()
{
string helpString = null;
string errorString = null;
if (Selection.gameObjects.Length > 0)
{
helpString = "您当前选择了" + Selection.gameObjects.Length + "个游戏物体";
}
else
{
errorString = "请选择至少一个游戏物体";
}
EditorPrefs.SetInt(healtKey, health);
EditorPrefs.SetInt(speedKey, speed);
}
void OnSelectionChange()
{
OnWizardUpdate();
}
}
说明:使用ScriptableWizard.DisplayWizard创建对话框<类名>(“对话框名标题”,“按钮1”,“按钮2”),当参数不设置按钮1是,则默认按钮名字为Create。按钮2根据实际情况决定是否需要。
使用Undo.RecordObject对点击事件的撤销功能,第一个参数为需要保存的值,第二为该值保存后的名字。
使用ShowNotification显示提示信息
使用EditorPrefs保存数据
使用EditorUtility.DisplayProgressBar显示进度条
转载于:https://www.cnblogs.com/shirln/p/7843394.html
unity编辑器扩展_07(创建对话框,检测按钮的点击,点击按钮后提示信息,保存设置的数据,显示点击按钮后的处理的进度条信息)...相关推荐
- Unity编辑器扩展: 程序化打图集工具
开始前的声明:该案例中图集所使用图片资源均来源于网络,仅限于学习使用 一.前言 关于编辑器扩展相关的知识,在前面的两篇内容中做了详细的描述,链接地址: 第一篇 :Unity编辑器扩展 UI控件篇 第二 ...
- 【Unity编辑器扩展】(三)PSD转UGUI Prefab, 一键拼UI解放美术/程序(完结)
工具效果: 第一步,把psd图层转换为可编辑的节点树,并自动解析UI类型.自动绑定UI子元素: 第二步, 点击"生成UIForm"按钮生成UI预制体 (若有UI类型遗漏可在下拉菜单 ...
- Unity编辑器扩展 UI控件篇
前摇 :认识编辑器扩展的必要性 由于各种各样的原因,无论是移动端亦或是主机/PC端,进几年的发行的游戏体量是越来越大.通常来说大体量的游戏开发需要一套很成熟完善的工作流,亦或说有很强的工业化的能力,像 ...
- Unity编辑器扩展之EditorWindow
Unity编辑器扩展之EditorWindow 继承这个类的编辑器脚本可以用来创建一个编辑器窗口,类似Inspector窗口 若要在这个类中添加一些控件,可以使用GUI和GUILayout控件,还可以 ...
- Unity 编辑器扩展菜单
Unity 编辑器扩展菜单 目录 Unity 编辑器扩展菜单 一.MenuItem 特性 菜单栏扩展 1.创建多级菜单 2.创建可使用快捷键的菜单项 3.创建可被勾选的菜单项 4.检查菜单是否使用 5 ...
- 【Unity编辑器扩展实践】、查找所有引用该图片的预制体
上一篇Unity编辑器扩展实践二.通过代码查找所有预制中已经查到到所有的预制体了. 然后我们就可以用这些预制体做一些其他的操作了,比如查找该预制的资源引用.可以直接遍历预制,找到预制里面的所有Imag ...
- 【Unity编辑器扩展】(二)PSD转UGUI Prefab, 图层解析和碎图导出
书接上回:[Unity编辑器扩展](一)PSD转UGUI Prefab, Aspose.PSD和Harmony库的使用_TopGames的博客-CSDN博客 工具使用预览: 工具目标: 1. 实现将p ...
- 【Unity编辑器扩展】(一)PSD转UGUI Prefab, Aspose.PSD和Harmony库的使用
[Unity编辑器扩展](二)PSD转UGUI Prefab, 图层解析和碎图导出_psd导入unity_TopGames的博客-CSDN博客 [Unity编辑器扩展](三)PSD转UGUI Pref ...
- Unity 编辑器扩展总结 一:编辑器开发入门
编辑器扩展总结 工欲善其事必先利其器 引言: 在项目开发中,编辑器扩展为开发者提供了开发自定义工具的功能,让开发者更加便利地使用编辑器开发项目.如若博客中存在错误,还请不吝赐教.所有参考的博客或者视频 ...
- 【Unity编辑器扩展】包体优化神器,图片压缩,批量生成图集/图集变体,动画压缩
功能介绍: 1. 压缩工具支持对图片原文件压缩(支持png/jpg),也支持使用Unity内置图片压缩批量对图片设置压缩参数. 2. 支持以文件夹或及其子文件夹为单位批量生成图集(SpriteAtla ...
最新文章
- opencv7-ml之svm
- 四步解读python生成器
- JAVA中使用XFire调用WebService接口
- DHTML之-----document.selection 的 createRange
- sap.ca.scfld.md.ComponentBase.extend
- c++语言while循环,c++ c语言while 循环语句入门基础教程
- Oracle用rowid删除同一张表的重复记录
- 操作系统linux入门,Linux操作系统基础(一)
- 排序算法(二)--选择排序法
- TRUNCATE TABLE 与 DELETE在删除整个表的所有记录时的区别
- python3简明教程-实验楼_#python实验楼教程#学Python哪里有一问一答的Python学习?求具体的~...
- Django python session配置和用法
- python使用长ping命令_在Python中调用Ping命令,批量IP的方法
- HTML页面跳转及传递参数
- 计数器verilog代码(quartus II)
- 线性可分支持向量机与软间隔最大化
- Forth?什么鬼?
- 实现内网穿透,个人电脑秒变服务器
- Django migrate 报错,通过fake 和 --fake-initial来修复
- 【OCR】中文街景数据集、场景文本定位识别新网络:End2End-PSL
热门文章
- C语言:要求输入一个字符,如果这个字符是小写字母,将这个字母转换成大写字母,否则保持不变
- 虚拟化四路服务器,IDC:4路及8路服务器现状未来趋势分析
- c matlab 引擎调用,将C/C++回调传递给matlab引擎
- mysql 查询指定日期的上一周的最后一天
- 大数据各组件默认端口
- presto安装及入门
- [对象转原始类型总结] ('' + obj) === `${obj}`? 不一定!
- 调用sklearn包中的PLA算法[转载]
- 常用Linux 服务器命令--各种性能指标命令
- 我的第一个Java程序和Java简介