读Building a Level Editor in Unity的笔记
自己做编辑器的缘由
PASS
代码结构
代码的主要文件如下图
EditorObject 和 LevelEditor 脚本处理场景数据。EditorObject 包含单个场景物体的数据, LevelEditor 则持有整个关卡的数据。当保存关卡时,所有包含了EditorObject 的物体将在LevelEditor 中标记,然后保存在Json中(个人比较喜欢XML)。ManagerScript 是整个编辑器的控制中心, 处理了UI,保存,检查等逻辑。 CameraMove 和 MouseScript 脚本是用来处理输入的, 比如放置和销毁物体以及调整相机视角。
-
EditorObject
一个组件,放在要编辑的场景物体上;为了序列化使用了一个data结构体,没什么特别的。
using System;
using UnityEngine;
public class EditorObject : MonoBehaviour
{
public enum ObjectType { Cyli