公司开发需求,在Unity启动时弹一次提示框以显示一些开发规范。

查询得知unity拥有属性 [InitializeOnLoad],用该属性标记过的静态类会在unity启动重新编译时调用一次构造函数,在此构造函数中调用弹框方法即可实现需求。

但是为了去掉重新编译时反复弹框的功能,第一次弹框后记录“StartUp”值,之后检测该值不再弹框,关闭unity时清除该值,保证下次启动弹框功能正常。

贴上代码:


using UnityEngine;
using UnityEditor;[InitializeOnLoad]
public class OnUnityStartTest : Editor
{static OnUnityStartTest(){EditorApplication.quitting -= Quit;EditorApplication.quitting += Quit;EditorApplication.update -= Update;EditorApplication.update += Update;}static void Update(){int startKey = PlayerPrefs.GetInt("StartUp", 0);if (startKey <= 0){startKey++;WelcomeScreen.ShowWindow();PlayerPrefs.SetInt("StartUp", startKey);EditorApplication.update -= Update;}}static void Quit(){PlayerPrefs.SetInt("StartUp", 0);}
}public class WelcomeScreen : EditorWindow
{private Rect textRect = new Rect(15f, 15f, 200f, 100f);public void OnGUI(){GUIStyle style = new GUIStyle();style.fontSize = 20;style.normal.textColor = Color.white;GUI.Label(this.textRect, "Hello!!!!zahll1993", style);}public static void ShowWindow(){WelcomeScreen window = EditorWindow.GetWindow<WelcomeScreen>(true, "Start!");window.minSize = window.maxSize = new Vector2(300f, 300f);DontDestroyOnLoad(window);}
}

Unity 编辑器启动弹窗相关推荐

  1. 【Unity优化】怎样实现Unity编辑器中的协程

    Unity编辑器中何时须要协程 当我们定制Unity编辑器的时候,往往须要启动额外的协程或者线程进行处理.比方当运行一些界面更新的时候,须要大量计算,假设用户在不断修正一个參数,比方从1变化到2.这种 ...

  2. 改善Unity编辑器对Lua文件的支持

    当前版本的Unity(截至Unity5.5.x)中TextAsset类不支持后缀为lua的文件,将lua文件导入到项目中后,其会被识别为类型为DefaultAsset的文件,即不被Unity原生支持. ...

  3. 【Unity3D】Unity 编辑器窗口布局 ( 创建 Unity3D 项目 | 添加物体 | 层级窗口 | 场景窗口 | 游戏窗口 | 属性窗口 | 项目窗口 | 控制台窗口 | 窗口位置修改 )

    文章目录 一.在 Unity Hub 中创建 Unity 2020 编辑器版本的 Unity3D 项目 二.Unity 编辑器窗口布局 1.添加物体 2.菜单栏和工具栏 3.Hierarchy 层级窗 ...

  4. Unity编辑器开发(五):实战、开发一个AB包编辑器工具

    前言 在我们上一篇(Unity编辑器开发(四):实战.开发一个AB包编辑器工具)的结尾,我们拥有了如下图中那样的一个编辑器窗口: 接下来我们来完成最后部分,也就是包括创建AB包,清理AB包,删除AB包 ...

  5. 【Unity编辑器扩展】(二)PSD转UGUI Prefab, 图层解析和碎图导出

    书接上回:[Unity编辑器扩展](一)PSD转UGUI Prefab, Aspose.PSD和Harmony库的使用_TopGames的博客-CSDN博客 工具使用预览: 工具目标: 1. 实现将p ...

  6. [Unity]编辑器中第一次结束游戏后第二次开始游戏崩溃的问题

    最近在使用unity编辑器的过程中,总是遇到第二次运行游戏unity直接crash的问题,甚为苦恼. 经反复试验,发现在第一次游戏结束后,在编辑器模式下切换一下场景再切换回开始场景后运行游戏能顺利执行 ...

  7. Unity替换启动Logo动画

    前言 最近的项目中,由于Android中集成了Unity场景,每次进入打包好的Unity项目时都会出现Unity的标志性动画,让用户处于等待状态,体验感比较差:于是便在产品经理的要求下将Unity的启 ...

  8. 实现Unity编辑器模式下的旋转

    最近在做一个模型展示的项目,我的想法是根据滑动屏幕的x方向差值和Y方向的差值,来根据世界坐标下的X轴和Y轴进行旋转,但是实习时候总是有一些卡顿.在观察unity编辑器下的旋转之后,发现编辑器下的旋转非 ...

  9. 关卡 动画 蓝图 运行_上车喂,建模大神带你学UE4在编辑器启动时是如何运行蓝图的...

    在编辑器启动时运行蓝图 1.如果还没有从EditorUtilityObject派生的Editor Utility Blueprint或Editor Utility Widget,可以创建一个.例如,这 ...

  10. UNITY编辑器模式下static变量的坑

    UNITY编辑器模式下static变量的坑 在unity中写编辑器扩展工具,如在编辑器中加个菜单,点击这个菜单项时执行打包功能. 类如下,其中的静态变量,如果每次进来不清空,则LIST会越来越大,打包 ...

最新文章

  1. 网络新手ip隐藏器_动态IP代理的用途
  2. 用linux写python_linux用什么写python
  3. 正则表达式懒惰贪婪和replace函数
  4. SAP配置webdynpro完全手册 .
  5. m3u8解析_浅谈m3u8格式视频文件采集
  6. SD-WAN技术的详细解析
  7. Android studio 菜单栏搞不见了
  8. 三线表里加小短线_三线表的规范格式
  9. codeigniter mysql -1_mysql-Codeigniter-多个数据库连接
  10. 郑州java工程师待遇怎么样_Java工程师工资待遇怎么样?
  11. HTML5+CSS3初学尝试(小米官网首页)
  12. 什么是重载?有什么作用?
  13. Deepin双系统找不到Windows启动项
  14. 系统传输过程中 中文点 · 对方无法解析的问题查找
  15. iPhone的设置中,找不到“开发者选项”
  16. Web Workers详解
  17. 公司项目重构-Web安全-文件上传漏洞
  18. APP后台服务器阿里云Win系统服务器搭建的方法
  19. 面向过程、面向对象 的模型和方法
  20. 嵌入式:ARM嵌入式系统开发流程概述

热门文章

  1. 如何测试电脑网速情况
  2. Spring框架浅谈及Spring框架学习小结
  3. 如何选择安全可靠的即时通讯软件
  4. IPv4与IPv6的区别
  5. 地址总线、数据总线、控制总线
  6. HRTF音频3D定位技术
  7. ong拼音汉字_汉语拼音ang-ong(教案)
  8. 信息收集--wmic命令
  9. GPS经纬度坐标与XY坐标相互转换的python程序
  10. 人脸识别与膜虹识别_虹膜识别技术优势明显 比指纹、人脸识别更可靠