Skip to content

Instantly share code, notes, and snippets.

@TJHeuvel
Created September 22, 2020 11:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TJHeuvel/915ee50d76c3bfa2909bc8bf83b9eaa6 to your computer and use it in GitHub Desktop.
Save TJHeuvel/915ee50d76c3bfa2909bc8bf83b9eaa6 to your computer and use it in GitHub Desktop.
ModelImporter
using System.Reflection;
using UnityEditor;
using UnityEditor.AssetImporters;
using UnityEngine;
[CustomEditor(typeof(ModelImporter))]
[CanEditMultipleObjects]
//https://github.com/Unity-Technologies/UnityCsReference/blob/9034442437e6b5efe28c51d02e978a96a3ce5439/Modules/AssetPipelineEditor/ImportSettings/ModelImporterEditor.cs
internal class ModelImporterEditor : AssetImporterEditor
{
#region Original texture importer editor support
private readonly Assembly editorAssembly = Assembly.GetAssembly(typeof(AssetImporterEditor));
private AssetImporterEditor originalEditor;
public override void OnEnable()
{
originalEditor = CreateEditor(targets, editorAssembly.GetType("UnityEditor.ModelImporterEditor")) as AssetImporterEditor;
originalEditor.OnEnable();
base.OnEnable();
}
public override void OnDisable()
{
originalEditor.OnDisable();
base.OnDisable();
}
public override bool showImportedObject => false;
public override bool HasModified()
{
return originalEditor != null && originalEditor.HasModified();
}
protected override void ResetValues()
{
callProtectedMethod(originalEditor, nameof(ResetValues));
}
protected override void Apply()
{
callProtectedMethod(originalEditor, nameof(Apply));
}
private void callProtectedMethod(object target, string methodName)
{
//target.GetType().GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Instance).Invoke(target, null);
}
#endregion
bool showAdvancedImporter;
protected override void OnHeaderGUI()
{
GUILayout.Label("HEADER");
}
public override void OnInspectorGUI()
{
GUILayout.Label("TEST");
originalEditor.OnInspectorGUI();
//do your custom UI
ApplyRevertGUI();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment