首页 > 其他分享 >Unity编辑器扩展秘籍-利用Editor.finishedDefaultHeaderGUI增加Header功能

Unity编辑器扩展秘籍-利用Editor.finishedDefaultHeaderGUI增加Header功能

时间:2024-02-23 21:36:00浏览次数:15  
标签:OnDefaultHeaderGUI Header Unity static Editor go finishedDefaultHeaderGUI

利用Editor.finishedDefaultHeaderGUI这个回调可以实现自定义Header菜单

using UnityEditor;
using UnityEngine;

namespace Yaojz
{
    [InitializeOnLoad]
    public static class DefaultHeaderDrawer
    {
        static DefaultHeaderDrawer()
        {
            Editor.finishedDefaultHeaderGUI += OnDefaultHeaderGUI;
        }

        private static void OnDefaultHeaderGUI(Editor editor)
        {
            var go = editor.target as GameObject;
            if(go == null)
            {
                return;
            }
            var ps = go.GetComponent<ParticleSystem>();
            if (ps != null)
            {
                if (GUILayout.Button("Test"))
                {
                    
                }
            }
        }
    }
}

标签:OnDefaultHeaderGUI,Header,Unity,static,Editor,go,finishedDefaultHeaderGUI
From: https://www.cnblogs.com/terrynoya/p/18030407

相关文章

  • Unity编辑器扩展秘籍-利用EditorApplication.contextualPropertyMenu为右键菜单增加自
    假设我们希望为材质右键弹出按钮增加新的功能,应该怎么做呢我们可以通过注册EditorApplication.contextualPropertyMenu全局回调方法,增加自定义的MenuItemusingUnityEditor;usingUnityEngine;namespaceYaojz{[InitializeOnLoad]publicstaticclassMaterialC......
  • Unity xLua开发环境搭建与基础进阶
    Unity是一款非常流行的游戏开发引擎,而xLua是一个为Unity开发者提供的Lua框架,可以让开发者使用Lua语言来进行游戏开发。在本文中,我们将介绍如何搭建UnityxLua开发环境,并进行基础进阶的学习。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正......
  • 打造纯Lua组件化开发模式:Unity xLua框架详解
    在传统的Unity开发中,通常会使用C#来编写游戏逻辑和组件。但是,随着Lua在游戏开发中的应用越来越广泛,我们可以将游戏逻辑和组件完全用Lua来实现,实现纯Lua的组件化开发模式。这样做的好处是可以更加灵活地修改游戏逻辑,而不需要重新编译C#代码。 3.实现步骤对啦!这里有个游戏开......
  • 02. 安装 Unity 引擎和代码编辑器
    下载并安装Unity访问网站unity.cn,在右边点击下载Unity。如果没有Unity账号,先注册账号,然后登陆账号。首先下载UnityHub,安装UnityHub,获取个人免费许可,再安装编辑器代码编辑器有VisualStudio、VisualStudioCode、Rider具体怎么用见下面的链接https://learn.microso......
  • 【Unity】ScriptableObject使用之后,重新打开Unity会报错
    导致问题出现的原因:ScriptableObject的类与其他类放一起了具体请见:unity2020.3官方文档ScriptableObject部分解决方法:为ScriptableObject单独创建一个c#脚本,并将c#名称与ScriptableObject类名保持一致。猜测出现这样的原因,如果哪里不对烦请大佬指正一下:Unity中基本上都是会通......
  • Unity如何从0实现技能CD遮罩
    需求描述我们需要实现一个类似英雄联盟中的技能CD遮罩,施放技能后,技能遮罩占满技能图标,随着时间推移,技能遮罩顺时针减少遮挡面积,CD结束时,遮罩应完全消失。需求分析由于每个时刻,都会有一条线从中心点射向上面那条边的中点,我们自然可以想到将遮罩面片分为8个三角形。并且我们只......
  • Unity编辑器扩展秘籍-反射解决ParticleSystemEditor的扩展显示错误的问题
    如果使用常规的扩展编辑器方法,为ParticleSystem增加一个自定义按钮[CustomEditor(typeof(ParticleSystem))]publicclassMyParticleSystemEditor:UnityEditor.Editor{privateList<Material>_mats=newList<Material>();publicoverridevoi......
  • Unity引擎2D游戏开发,场景管理和切换
    需要用到的工具资源打包、远程热更新工具Addressables工具基本操作在Window菜单下方,会有AssetManagement,选择Addressables中的Groups会弹出相关菜单,将其拖入底部工具栏会提示没有创建Addressables的相关配置,则点击CreateAddressablesSettings这时候会在Project中,多出......
  • Unity引擎2D游戏开发,场景互动的逻辑实现
    创建接口由于所有可互动的物体都会有一个共通的属性,即“互动”的处理。因此,新建一个接口,让所有可互动的物体都实现这个接口内的互动处理方法新建接口创建一个处理互动逻辑的抽象方法publicinterfaceIInteractable{voidTriggerAction();}创建处理宝箱交互逻辑的脚......
  • Unity中关于刚体和碰撞器遇到的告警
    告警信息:Scripterror:OnCollisionEnter2DThismessageparameterhastobeoftype:Collision2DThemessagewillbeignored.  解决:经查验发现,由于该脚本是粘贴的类似功能脚本,而粘贴前使用的触发器,因此方法为 privatevoidOnTriggerStay2D(Collider2Dcollision),而......