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); } } }
public void InstantiateEnergyBar(EnergyBar energyBar) { if (_gameEnergyUIPanel.gameObject.activeInHierarchy) { GameObject prefab = energyBar.energyBarPrefab; GameObject go = UnityEngine.Object.Instantiate(prefab, _gameEnergyUIPanel.transform.position, _gameEnergyUIPanel.transform.rotation, _gameEnergyUIPanel.transform.parent); if (_gameEnergyUIPanel.transform.parent.parent.name == "FlyingGameHUD") { // 360 and 90 degree levels need the bar to be scaled up go.transform.localScale *= 50; } AddManagers(go); EnergyBarDescriptor descriptor = go.GetComponent <EnergyBarDescriptor>(); switch (_gameEnergyCounter.energyType) { case GameplayModifiers.EnergyType.Bar: descriptor.standardBar.gameObject.SetActive(true); break; case GameplayModifiers.EnergyType.Battery: int lives = _gameEnergyCounter.batteryLives; GameObject batteryBar = descriptor.GetBatteryBar(lives); descriptor.standardBar.gameObject.SetActive(batteryBar == null); batteryBar?.SetActive(true); break; } foreach (ImageView iv in _gameEnergyUIPanel.GetComponentsInChildren <ImageView>()) { iv.enabled = false; } foreach (Canvas ca in _gameEnergyUIPanel.GetComponentsInChildren <Canvas>()) { ca.enabled = false; } } }
public void AddAPIEnergyBar(EnergyBar energyBar) { APIEnergyBars.Add(energyBar); }