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;
}
}
}