private void ExtractBundle(AssetBundle assetBundle) { if (assetBundle != null) { energyBarPrefab = assetBundle.LoadAsset <GameObject>("_CustomEnergyBar"); descriptor = energyBarPrefab.GetComponent <EnergyBarDescriptor>(); if (descriptor.icon == null) { descriptor.icon = ResourceUtilities.LoadSpriteFromResource($"CustomEnergyBar.Resources.icon.png"); } energyBarPrefab.transform.SetParent(_prefabPool.transform); energyBarPrefab.gameObject.name = descriptor.name; assetBundle.Unload(false); } else { return; } }
public void LoadCustomEnergyBars(string[] assetBundlePaths) { EnergyBar defaultEnergyBar = new EnergyBar("", PrefabPool); defaultEnergyBar.descriptor = new EnergyBarDescriptor(); defaultEnergyBar.descriptor.name = "Default"; defaultEnergyBar.descriptor.author = "Beat Saber"; defaultEnergyBar.descriptor.description = "The default energy bar."; defaultEnergyBar.descriptor.bundleId = "defaultEnergyBar"; defaultEnergyBar.descriptor.icon = ResourceUtilities.LoadSpriteFromResource("CustomEnergyBar.Resources.icon.png"); AssetBundlePaths.Add(""); CustomEnergyBars.Add(defaultEnergyBar); foreach (string path in assetBundlePaths) { EnergyBar energyBar = new EnergyBar(path, PrefabPool); if (energyBar != null) { AssetBundlePaths.Add(path); CustomEnergyBars.Add(energyBar); } } }