private void DrawAssetBundleData(AssetBundleData assetBundleData, ResourceEditorFoldout <bool> foldout) { var assetBundleLabel = string.Format("[asset bundle] - {0}", assetBundleData.Id); foldout.IsOut = EditorGUILayout.Foldout(foldout.IsOut, assetBundleLabel); var dataFoldouts = foldout.Contents; if (!foldout.IsOut) { return; } EditorGUI.indentLevel++; DrawListDatas(dataFoldouts, "resources", assetBundleData.ResourceDatas, data => data.Type, data => data.Path); DrawListDatas(dataFoldouts, "scenes", assetBundleData.SceneDatas, data => "** Scene **", data => data.SceneName); DrawListDatas(dataFoldouts, "dependencies", assetBundleData.Dependencies, data => "** AssetBundle **", data => data); EditorGUI.indentLevel--; }
private void DrawLocationData(LocationData locationData, ResourceEditorFoldout <ResourceEditorFoldout <bool> > foldout) { EditorGUILayout.BeginVertical(); var locationLabel = string.Format("Location: {0} [{1}]", locationData.Id, locationData.Location); foldout.IsOut = EditorGUILayout.Foldout(foldout.IsOut, locationLabel); if (foldout.IsOut) { EditorGUI.indentLevel++; var assetBundleFoldouts = foldout.Contents; foreach (var assetBundleData in locationData.AssetBundleDatas) { var assetBundleFoldout = GetOrCreateDictionaryValue(assetBundleFoldouts, assetBundleData.Id); DrawAssetBundleData(assetBundleData, assetBundleFoldout); } EditorGUI.indentLevel--; } EditorGUILayout.EndVertical(); }
public Vector2 DrawConfigData(ConfigData configData, ResourceEditorFoldout <ResourceEditorFoldout <ResourceEditorFoldout <bool> > > foldout, Vector2 scrollPosition) { if (configData == null) { return(scrollPosition); } scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, GUI.skin.box); var locationFoldouts = foldout.Contents; foreach (var locationData in configData.LocationDatas) { var locationFoldout = GetOrCreateDictionaryValue(locationFoldouts, locationData.Id); DrawLocationData(locationData, locationFoldout); } EditorGUILayout.EndScrollView(); return(scrollPosition); }