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;
     }
 }
Exemple #2
0
        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);
                }
            }
        }