Unity EditorTool Dev Tutorial(二)
2017-12-04 23:52
337 查看
Unity EditorTool Dev Tutorial(二)
最近,公司项目新开,要笔者写一些给策划用的工具,对Unity有了解的朋友肯定知道Unity的插件工具是十分丰富的,提供的API能让开发者自定义工具。于是作为小白的笔者,也一股脑扎进了工具开发的漩涡中。发现关于Editor的基础教程,在国内非常少,于是,笔者便有了记录学习Editor的想法。本文将持续记录笔者从零搭建工具的所见所闻。前言
笔者也是在学习Editor中,写下的这篇记录,若有对该工具的感兴趣,笔者在Github上更新这个项目,一套正在开发的工具。Ps:没写Readme的章节介绍
这一节,记录的是:建立窗口,为了后续做节点编辑器使用。1. 建立窗口
从上节我们知道了,如何添加一个菜单项,来制作启动项。我们需要利用启动函数,来新建一个窗口出来,作为自定义编辑器的Panel。在Editor中,建立窗口,需要使用UnityEditor中的EditorWindow类。
EditorWindow提供一个静态方法EditorWindow.GetWindow。
话不多说贴上:官方详细
示例:
![](https://i.imgur.com/9Y3yHWG.png)
C#
using UnityEngine;
using System.Collections;
using System;
using UnityEditor;
public class Test{
[MenuItem(“Test/Go”)]
static void Go()
{
Debug.Log(DateTime.Now.ToLongDateString());
}
}
这是上一章我们用来 打印日期的工具Item菜单,我们接下来将它变成,新建一个窗口的Item菜单。 修改代码如下: ```c# using UnityEngine; using System.Collections; using System; using UnityEditor; public class Test: EditorWindow { //笔者写这个,有单例的习惯 public static Test Instance; [MenuItem("Test/Go")] static void Go() { //Debug.Log(DateTime.Now.ToLongDateString()); //窗口初始化 Instance = GetWindow<Test>(); Instance.titleContent=new GUIContent("My EditorWindow"); Instance.maxSize=new Vector2(1800,900); Instance.minSize = new Vector2(1000, 500); } }
效果图:
![](https://i.imgur.com/KTGDmGy.png)
笔者使用的方式是最简单的一种,其实这个函数还有更多的参数可以对窗口进行设置。
public static T GetWindow();
public static T GetWindow(bool utility);
public static T GetWindow(bool utility, string title);
public static T GetWindow(string title);
public static T GetWindow(string title, bool focus);
public static T GetWindow(bool utility, string title, bool focus);
所谓 Utility窗口 默认不设置是false,即正常窗口,若设置成false
那么窗口就变成了下图这样:熟悉Unity的朋友很容易明白两者的区别,后者是无法自定义折叠位置的。
而focus,笔者感觉没什么用,官方详细都是说的,若是新建立的窗口,总是focus的。置为false也没用。
![](https://i.imgur.com/QgRUUe5.png)
——To Be Continue
相关文章推荐
- #Unity EditorTool Dev Tutorial(一)
- # Unity EditorTool Dev Tutorial(三)——数据存储工具
- UnityEditor研究学习之EditorWindow
- Unity编辑器UnityEditor基础(二)
- 【MVVM Dev】PART_Editor的使用
- 安装devtoolset-2:因由安装gcc 4.8而引起
- Unity2D Roguelike tutorial 学习03
- Unity Official Tutorial OF PICKING UP COLLECTABLES --- Player Movement & Collision Detection
- Unity之EditorWindow-window-一
- Unity iPhone Touch Animation Tutorial,untiy3d iphone简单动画开发教程
- UnityEditor 反射事件2
- Unity Editor下选定单个资源文件打AssetBundle
- Mar 18, iOS Dev Tutorial
- BCE0004: Ambiguous reference 'preview': CameraMotionBlurEditor.preview, UnityEditor.Editor.preview.
- Linux vi and vim editor: Tutorial and advanced features
- Unity Editor编程杂记
- Unity Editor Window Zooming
- ubuntu 15.10 修复unity tweak tool提示:org.gnome.settings-daemon.peripherals.touchpad错误的方法
- IOS Dev Intro - ReactiveCocoa tutorial 01
- 【工具】Phalcon devtool 官方包