02 位置工具优化
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace Stary.Evo.InformationSave
|
||||
{
|
||||
@@ -9,16 +11,33 @@ namespace Stary.Evo.InformationSave
|
||||
{
|
||||
private CustomEditorBase _customEditorBase;
|
||||
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
serializedObject.Update();
|
||||
_customEditorBase = target as CustomEditorBase;
|
||||
|
||||
if (string.IsNullOrEmpty(_customEditorBase.mationID))
|
||||
{
|
||||
_customEditorBase.mationID = _customEditorBase.gameObject.GetInstanceID().ToString();
|
||||
}
|
||||
GUILayout.BeginHorizontal();
|
||||
GUILayout.Box("MationID:", GUILayout.MaxWidth(500));
|
||||
GUILayout.Box(_customEditorBase.mationID, GUILayout.MaxWidth(500));
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
_customEditorBase.Draw();
|
||||
//这个函数告诉引擎,相关对象所属于的Prefab已经发生了更改。方便,当我们更改了自定义对象的属性的时候,自动更新到所属的Prefab中
|
||||
if (GUI.changed && EditorApplication.isPlaying == false)
|
||||
{
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
var prefabType = PrefabUtility.GetPrefabInstanceStatus(_customEditorBase);
|
||||
if (prefabType != PrefabInstanceStatus.NotAPrefab)
|
||||
{
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications(_customEditorBase);
|
||||
}
|
||||
EditorUtility.SetDirty(_customEditorBase);
|
||||
EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user