AssetBundleGraph.NodeGUIEditor.DoInspectorImportSettingGUI C# (CSharp) Method

DoInspectorImportSettingGUI() private method

private DoInspectorImportSettingGUI ( NodeGUI node ) : void
node NodeGUI
return void
        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;
                }
            }
        }