50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
|
using UnityEditor;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.SceneManagement;
|
|||
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using ES3Internal;
|
|||
|
|
|||
|
[CustomEditor(typeof(ES3Prefab))]
|
|||
|
[System.Serializable]
|
|||
|
public class ES3PrefabEditor : Editor
|
|||
|
{
|
|||
|
bool showAdvanced = false;
|
|||
|
bool openLocalRefs = false;
|
|||
|
|
|||
|
public override void OnInspectorGUI()
|
|||
|
{
|
|||
|
var es3Prefab = (ES3Prefab)serializedObject.targetObject;
|
|||
|
EditorGUILayout.HelpBox("Easy Save is enabled for this prefab, and can be saved and loaded with the ES3 methods.", MessageType.None);
|
|||
|
|
|||
|
|
|||
|
showAdvanced = EditorGUILayout.Foldout(showAdvanced, "Advanced Settings");
|
|||
|
if(showAdvanced)
|
|||
|
{
|
|||
|
EditorGUI.indentLevel++;
|
|||
|
es3Prefab.prefabId = EditorGUILayout.LongField("Prefab ID", es3Prefab.prefabId);
|
|||
|
EditorGUILayout.LabelField("Reference count", es3Prefab.localRefs.Count.ToString());
|
|||
|
EditorGUI.indentLevel--;
|
|||
|
|
|||
|
openLocalRefs = EditorGUILayout.Foldout(openLocalRefs, "localRefs");
|
|||
|
if (openLocalRefs)
|
|||
|
{
|
|||
|
EditorGUI.indentLevel++;
|
|||
|
|
|||
|
EditorGUILayout.LabelField("It is not recommended to manually modify these.");
|
|||
|
|
|||
|
foreach (var kvp in es3Prefab.localRefs)
|
|||
|
{
|
|||
|
EditorGUILayout.BeginHorizontal();
|
|||
|
|
|||
|
EditorGUILayout.ObjectField(kvp.Key, typeof(UnityEngine.Object), false);
|
|||
|
EditorGUILayout.LongField(kvp.Value);
|
|||
|
|
|||
|
EditorGUILayout.EndHorizontal();
|
|||
|
}
|
|||
|
|
|||
|
EditorGUI.indentLevel--;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|