private void OnDeleteAssetBundleItem(AssetBundleItemUI item) { if (loadAbItemUIs != null) { loadAbItemUIs.Remove(item); } if (loadShaderItems != null) { List <ShaderItemUI> shaderItems; if (loadShaderItems.TryGetValue(item, out shaderItems)) { foreach (var shaderItem in shaderItems) { shaderItem.Remove(); } loadShaderItems.Remove(item); } } if (loadVariantItems != null) { List <ShaderVariantInfoUI> variantItems; if (loadVariantItems.TryGetValue(item, out variantItems)) { foreach (var variantItem in variantItems) { variantItem.Remove(); } loadVariantItems.Remove(item); } } }
private void LoadAssetBundle(string file) { var assetBundleItem = new AssetBundleItemUI(file, this.assetBundleTreeAsset, this.OnDeleteAssetBundleItem); if (!assetBundleItem.Validate()) { return; } assetBundleItem.AddToElement(this.assetBunleItemBody); loadAbItemUIs.Add(assetBundleItem); // Shaderリスト List <Shader> shaders = new List <Shader>(); assetBundleItem.CollectAbObjectToList(shaders); List <ShaderItemUI> shaderItems = new List <ShaderItemUI>(); foreach (var shader in shaders) { var shaderItem = new ShaderItemUI(shader, shaderTreeAsset, this.openDateStr); shaderItem.AddToElement(this.shaderItemBody); shaderItems.Add(shaderItem); } loadShaderItems.Add(assetBundleItem, shaderItems); // shaderVariantCollectionリスト List <ShaderVariantCollection> variantCollections = new List <ShaderVariantCollection>(); assetBundleItem.CollectAbObjectToList(variantCollections); List <ShaderVariantInfoUI> variantItems = new List <ShaderVariantInfoUI>(); foreach (var variantCollection in variantCollections) { var variantItem = new ShaderVariantInfoUI(variantCollection, this.openDateStr); variantItem.AddToElement(this.shaderVariantsItemBody); variantItems.Add(variantItem); } this.loadVariantItems.Add(assetBundleItem, variantItems); }