AssetBundleGraph.ConnectionGUIEditor.OnInspectorGUI C# (CSharp) Method

OnInspectorGUI() public method

public OnInspectorGUI ( ) : void
return void
        public override void OnInspectorGUI()
        {
            ConnectionGUIInspectorHelper helper = target as ConnectionGUIInspectorHelper;

            var con = helper.connectionGUI;
            if (con == null) {
                return;
            }

            var foldouts = helper.foldouts;

            var count = 0;
            var assetGroups = helper.assetGroups;
            if (assetGroups == null)  {
                return;
            }

            foreach (var assets in assetGroups.Values) {
                count += assets.Count;
            }

            EditorGUILayout.LabelField("Total", count.ToString());

            var redColor = new GUIStyle(EditorStyles.label);
            redColor.normal.textColor = Color.gray;

            var index = 0;
            foreach (var groupKey in assetGroups.Keys) {
                var assets = assetGroups[groupKey];

                var foldout = foldouts[index];

                foldout = EditorGUILayout.Foldout(foldout, "Group Key:" + groupKey);
                if (foldout) {
                    EditorGUI.indentLevel = 1;
                    for (var i = 0; i < assets.Count; i++) {
                        var sourceStr = assets[i].path;
                        var variantName = assets[i].variantName;

                        if(!string.IsNullOrEmpty(variantName))
                            EditorGUILayout.LabelField(string.Format("{0}[{1}]", sourceStr, variantName));
                        else {
                            EditorGUILayout.LabelField(sourceStr);
                        }
                    }
                    EditorGUI.indentLevel = 0;
                }
                foldouts[index] = foldout;

                index++;
            }
        }