我该如何记住EditorWindow的上一次选择和更改?

时间:2018-08-06 12:21:13

标签: c# unity3d

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;

public class Test : EditorWindow {
  [SerializeField] private GameObject prefab;
  [MenuItem("Tools/Test")]

  static void CreateTest() {
    EditorWindow.GetWindow<Test>();
  }

  private void OnInspectorUpdate() {
    Repaint();
  }
}

该脚本位于“编辑器”文件夹中。 然后在编辑器中,选择“工具”>“测试”

问题在于,每当我关闭EditorWindow并再次重新打开它时,将预制件添加到预制变量中,预制件就消失了/空了,我需要再次选择预制件。

如何使它能够记住上次选择的预制件?如果资产中仍存在预制件,但目的是记住所选的预制件。

1 个答案:

答案 0 :(得分:1)

您需要将值存储在外部。 如果您可以按名称找到预制件,则可以使用PlayerPrefs类,或者(更难但更通用)将您自己的类序列化为Json或其他格式。