private void DoInspectorImportSettingGUI(NodeGUI node)
{
EditorGUILayout.HelpBox("ImportSetting: Force apply import settings to given assets.", MessageType.Info);
UpdateNodeName(node);
GUILayout.Space(10f);
/*
importer node has no platform key.
platform key is contained by Unity's importer inspector itself.
*/
using (new EditorGUILayout.VerticalScope(GUI.skin.box)) {
Type incomingType = FindIncomingAssetType(node.Data.InputPoints[0]);
IntegratedGUIImportSetting.ConfigStatus status =
IntegratedGUIImportSetting.GetConfigStatus(node.Data);
if(incomingType == null) {
// try to retrieve incoming type from configuration
if(status == IntegratedGUIImportSetting.ConfigStatus.GoodSampleFound) {
incomingType = IntegratedGUIImportSetting.GetReferenceAssetImporter(node.Data).GetType();
} else {
EditorGUILayout.HelpBox("ImportSetting needs a single type of incoming assets.", MessageType.Info);
return;
}
}
switch(status) {
case IntegratedGUIImportSetting.ConfigStatus.NoSampleFound:
// IntegratedGUIImportSetting.Setup() must run to grab another sample to configure.
EditorGUILayout.HelpBox("Press Refresh to configure.", MessageType.Info);
break;
case IntegratedGUIImportSetting.ConfigStatus.GoodSampleFound:
if (GUILayout.Button("Configure Import Setting")) {
Selection.activeObject = IntegratedGUIImportSetting.GetReferenceAssetImporter(node.Data);
}
if (GUILayout.Button("Reset Import Setting")) {
IntegratedGUIImportSetting.ResetConfig(node.Data);
}
break;
case IntegratedGUIImportSetting.ConfigStatus.TooManySamplesFound:
if (GUILayout.Button("Reset Import Setting")) {
IntegratedGUIImportSetting.ResetConfig(node.Data);
}
break;
}
}
}