public void Init(NodeAddedEvent e, DiscreteEnergyNode weapon, [JoinByTank, Context] HUDNodes.SelfTankNode tank, SingleNode <MainHUDComponent> hud)
 {
     hud.component.EnergyBarEnabled       = true;
     hud.component.MaxEnergyValue         = 1f;
     hud.component.CurrentEnergyValue     = 0f;
     hud.component.EnergyAmountPerSegment = 1f;
 }
 public void Energy(TimeUpdateEvent e, DiscreteEnergyNode weapon, [JoinByTank] HUDNodes.ActiveSelfTankNode tank, [JoinAll] SingleNode <MainHUDComponent> hud)
 {
     if (InputManager.GetActionKeyDown(ShotActions.SHOT) && !weapon.Entity.HasComponent <ShootableComponent>())
     {
         hud.component.EnergyBlink(false);
     }
     else
     {
         if ((weapon.weaponEnergy.Energy < weapon.discreteWeaponEnergy.UnloadEnergyPerShot) && InputManager.GetActionKeyDown(ShotActions.SHOT))
         {
             hud.component.EnergyBlink(false);
         }
         float currentEnergyValue = hud.component.CurrentEnergyValue;
         hud.component.CurrentEnergyValue = weapon.weaponEnergy.Energy;
         if ((hud.component.CurrentEnergyValue >= 1f) && (currentEnergyValue < 1f))
         {
             hud.component.EnergyBlink(true);
         }
     }
 }