Beispiel #1
0
 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 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;
                }
            }
        }
Beispiel #3
0
 private void OnEnable()
 {
     _energyBar = (EnergyBarDescriptor)target;
 }