Exemplo n.º 1
0
        internal void Load()
        {
            if (!IsLoaded)
            {
                string customPath = Path.Combine(Environment.CurrentDirectory, _customFolder);

                if (!Directory.Exists(customPath))
                {
                    Directory.CreateDirectory(_customFolder);
                }

                PrefabPool = new GameObject("CEB Prefab Pool");
                PrefabPool.SetActive(false);
                UnityEngine.Object.DontDestroyOnLoad(PrefabPool);

                string[] bundlePaths = Directory.GetFiles(customPath, "*.energy");

                LoadCustomEnergyBars(bundlePaths);
                Plugin.Log.Info("Loaded " + bundlePaths.Length + " custom energy bars.");

                if (Plugin.Settings.Selected != "defaultEnergyBar")
                {
                    SelectedEnergyBar = CustomEnergyBars.FindIndex(ceb => ceb.descriptor.bundleId == Plugin.Settings.Selected);
                }

                IsLoaded = true;
            }
        }
Exemplo n.º 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);
                }
            }
        }
Exemplo n.º 3
0
 public EnergyBar GetEnergyBarByBundleId(string bundleId)
 {
     return(CustomEnergyBars.Find(ceb => ceb.descriptor.bundleId == bundleId));
 }