Created
September 22, 2020 11:19
-
-
Save TJHeuvel/915ee50d76c3bfa2909bc8bf83b9eaa6 to your computer and use it in GitHub Desktop.
ModelImporter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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