using UnityEngine;
using System.Collections;
using UnityEditor;
public class ClipEventEditor : EditorWindow
{
/// <summary>
/// MenuItem属性允许你添加菜单项到主菜单和检视面板上下文菜单
/// MenuItem属性把任意静态函数变成为一个菜单命令。仅静态函数能使用这个MenuItem属性。
/// 可以使用一下指定字符创建热键:% (Windows上为ctrl, OS X上为cmd), # (shift), & (alt), _ (无修改键)。
/// 例如创建一个菜单热键为shift-alt-g使用GameObject/Do Something #&g。
/// 创建一个菜单热键g并没有修改键(组合键),使用GameObject/Do Something _g。
/// 热键文本必须在前面加一个空格字符(GameObject/Do_g不会被解释为热键,而是GameObject/Do _g这样,注意_g前面有空格)。
///
/// 注意:这是一个编辑器类,如果想使用它你需要把它放到工程目录下的Assets/Editor文件夹下。
/// 编辑器类在UnityEditor命名空间下。所以当使用C#脚本时,你需要在脚本前面加上 "using UnityEditor"引用。
/// </summary>
[MenuItem("Tools/ClipEventEditor %1", false)]//快捷键Ctrl+1
static void Show()
{
//static function GetWindow.<T> (utility : bool, title : string, focus : bool) : T
//返回屏幕上类型T的当前的第一个编辑器窗口。
//如果没有,创建并显示新的窗口并返回它的实例。
//utility设置为真,来创建一个浮动窗口;为假,创建一个标准窗口。
//title 如果GetWindow创建一个新的窗口,它将获取这个标题。如果这个值为null,使用类名作为标题。
GetWindow<ClipEventEditor>(true, "编辑器");
}
public AnimationClip Clip;
public GameObject Obj;
void OnGUI()
{
GUILayout.Label("动画事件编辑器"); //EditorGUILayout.ObjectField:制作一个物体字段。可以指定物体无论是通过拖拽物体或通过物体拾取器选择物体。
Clip = (AnimationClip)EditorGUILayout.ObjectField(Clip, typeof(AnimationClip), true);
Obj = (GameObject)EditorGUILayout.ObjectField(Obj, typeof(GameObject), true); if (Clip)
{
var Events = AnimationUtility.GetAnimationEvents(Clip);
if (GUILayout.Button("显示隐藏事件"))
{
for (int i = ; i < Events.Length; i++)
{
if (float.IsInfinity(Events[i].time))
{
Events[i].time = ;
}
} //TODO ...保存修改
}
}
} }

EditorWindow 和MenuItem的更多相关文章

  1. UnityEditor研究学习之EditorWindow

    在unity使用过程中,其实我们都是在各个不同功能的Window下工作. 比如在Scene窗口中操作物体,在Inspector中操作物体属性,在Game视窗中观察游戏状态. 所以窗口是Unity的灵魂 ...

  2. 列出场景对象Lightmap属性

    首先上效果图: 编辑器代码: using UnityEngine; using UnityEditor; using System.Collections; public class Lightmap ...

  3. 通过反射调用Unity编辑器提供的各种功能

    Unity编辑器功能丰富易上手,其实编辑器提供的大多数菜单操作,在代码里面都是能够找到对应接口的,但是这些接口都没有对我们开放,怎么办? 很简单,直接使用反射调用即可. 首先使用Reflector或I ...

  4. Unity3D学习笔记(二十八):Editor

    Editor: 对编辑器进行一些拓展开发 关于继承Mono类的扩展开发   特性: [特性]:声明性的标签(类,方法,结构体,变量) 特性只对字段声明有效,后面必须接字段:多个特性,可以修饰一个字段 ...

  5. Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }

    Unity 脚本 API 中文版 链接: https://docs.unity3d.com/cn/2019.4/ScriptReference/ 创建自定义窗口 public class MyWind ...

  6. unity3d拓展编辑器MenuItem的使用

    MenuItem是自定义菜单栏显示 比如:[MenuItem("new/My Window")] 这样就会显示菜单new/My Window 把这个放在一个静态方法上就可以了.记住 ...

  7. EditorWindow edit ScriptableObject

    using UnityEngine; [System.Serializable] public class Weapon { //[SerializeField] public string weap ...

  8. Unity EditorWindow 笔记

    一:功能 1.实例化 //设置插件在菜单栏的位置 和快捷键 [MenuItem("YCC's Tools/模型更改/更改父物体和测量长度 %W")] //实例化窗体 static ...

  9. Unity3d UnityEditor EditorWindow 自定义窗体控件

    功能:是因为公司的模型组需要一个插件,在MAYA中有很多个复制物体,导出的时候只导出一个,其他相同的物体只导出点的位置信息.这样进入Unity里就是一个物体和N个相同物体的位置点,代码简单但是需要用插 ...

随机推荐

  1. DATASNAP REST WEBSERVICES中间件如何跨平台使用

    DATASNAP REST WEBSERVICES中间件如何跨平台使用   准备使用DELPHI开发移动设备开发的朋友对DATASNAP REST中间件不可不了解. DATASNAP REST新型WE ...

  2. 自定义UISearchDisplayController中搜索到结果的cell的位置

    #pragma mark - UISearchBarDelegate//当搜索文本被改变的时候调用 - (void)searchBar:(UISearchBar *)searchBar textDid ...

  3. IntelliJ IDEA 集成Tomcat后找不到HttpServlet问题(2015年06月13日)

    今天第一次用IntelliJ IDEA集成Tomcat做东西玩,在IntelliJ IDEA中配置好Tomcat之后,开始写Servlet,结果却找不到HttpServlet类,原因就是Intelli ...

  4. MongoDB - Introduction to MongoDB, MongoDB Extended JSON

    JSON can only represent a subset of the types supported by BSON. To preserve type information, Mongo ...

  5. 八、android jni 之C语言基础

    *含义 1.乘法 3*5 2.定义指针变量 int * p://定义了一个名字叫p的变量,能够存放int数据类型的地址 3.指针运算符, //如果p是一个已经定义好的指针变量则*p表示以p的内容为地址 ...

  6. C# 前台线程和后台线程

    进程会等待所有的前台线程完成后在结束工作,但是如果只剩下后台线程,则会直接结束工作 using System; using System.Collections.Generic; using Syst ...

  7. SliverLight(how to show data point on the column series)

    You should know that Silverlight comes with win form drawing software is different, it has no the la ...

  8. Markdown 学习资源

    语法 Mastering Markdown Markdown Cheatsheet pandoc 在线预览工具

  9. java使用sigar 遇到问题的解决方案

    先给大家介绍一个开源工具Sigar 官网:http://sigar.hyperic.com/ API:http://www.hyperic.com/support/docs/sigar/index-a ...

  10. 使用 CocoStudio UI 编辑器实现《乱斗堂》设置界面

    由于是引用别人的,所以直接贴上地址了.http://www.cocoachina.com/bbs/read.php?tid=164820&fpage=7 1 游戏中必不可少的 UI 元素    ...