E Story 故事编辑器开发笔记 #1 创建项目&编辑器窗口

创建项目

从UnityHub创建项目

  1. 打开UnityHub创建新项目,选择编辑器版本:推荐6000.0.42f1或更新的
  2. 选择核心模板:Universal 2D
  3. 设置项目名称:Example
  4. 其它选项根据需要自行设置
  5. 点击创建项目按钮

检查依赖包

  1. 打开Package Manager窗口,检查是否已安装这两个包:Unity UIInput System
  2. 若未安装,则在Unity Registry标签页内搜索并安装

创建编辑器窗口

创建文件夹

  1. 打开Project面板,在空白处点击鼠标右键 Create -> Folder 创建以下文件夹,并将已存在的其它文件或文件夹放入此文件夹:
    • Assets/Others
  2. 依次创建以下文件夹:
    • Assets/E Tool
    • Assets/E Tool/E Story
    • Assets/E Tool/E Story/Editor
    • Assets/E Tool/E Story/Editor/Scripts
    • Assets/E Tool/E Story/Editor/Scripts/UI

创建窗口类

  1. 打开刚创建的UI文件夹,点击鼠标右键 Create -> UI Toolkit -> Editor Window
  2. 在弹出的对话框的C#输入框内输入:StoryEditorWindow
  3. 取消勾选UXMLUSS选项(本项目直接使用C#代码来设置窗口布局和样式,而不使用UI Builder)
  4. 点击Confirm按钮

编辑窗口类

打开StoryEditorWindow.cs,将内容修改如下:

C#
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;

// 添加命名空间将类包裹起来,以便避免与其它命名空间的同名类冲突
namespace E.Story
{
    // 此类继承自EditorWindow,拥有EditorWindow的所有特性
    public class StoryEditorWindow : EditorWindow
    {
        [MenuItem("E Tool/打开 E Story 故事编辑器 %&s")]
        // 在静态方法上添加MenuItem属性,可使Unity菜单栏显示相应按钮,点击按钮可调用此方法
        // 字符串末尾的%&s表示快捷键,其中%表示Ctrl键,&表示Alt键,s表示S键,另外还有#可以表示Shift键
        public static void Open()
        {
            // 获取窗口
            StoryEditorWindow wnd = GetWindow();
            // 修改窗口标题
            wnd.titleContent = new GUIContent("E Story 故事编辑器");
        }

        // 这是Unity会在绘制GUI时自动调用的方法
        private void CreateGUI()
        {
            // 获取窗口UI根元素
            VisualElement root = rootVisualElement;
            // 创建标签
            VisualElement label = new Label("Hello World! From C#");
            // 将标签放入根元素
            root.Add(label);
        }
    }
}

测试效果

点击菜单按钮E Tool -> 打开 E Story 故事编辑器或按下快捷键Ctrl+Alt+S即可打开编辑器窗口查看效果。

相关链接

留下评论