protected bool consume_energy()
 {
     if (ShuttingOff)
     {
         consumption_rate = 0;
     }
     else if (SelfSustaining && Rate >= MinimumRate)
     {
         consumption_rate = 1;
     }
     else
     {
         socket.RequestTransfer(CurrentEnergyDemand * TimeWarp.fixedDeltaTime);
         if (!socket.TransferResource())
         {
             return(false);
         }
         consumption_rate = socket.Ratio;
         if (consumption_rate < MinimumRate)
         {
             Utils.Message("Not enough energy");
             socket.Clear();
         }
     }
     update_rate(Mathf.Min(consumption_rate, next_rate));
     return(true);
 }
Esempio n. 2
0
 protected virtual void consume_energy()
 {
     if (State != AnimatorState.Closing && State != AnimatorState.Opening)
     {
         return;
     }
     socket.RequestTransfer(EnergyConsumption * TimeWarp.fixedDeltaTime);
     if (!socket.TransferResource())
     {
         return;
     }
     speed_multiplier = socket.Ratio;
     if (speed_multiplier < 0.01f)
     {
         speed_multiplier = 0;
     }
     update_sound_params();
     update_emitter();
 }
Esempio n. 3
0
 public bool TransferResource(float rate = 1f)
 {
     Pump.RequestTransfer(rate * URate * TimeWarp.fixedDeltaTime);
     return(Pump.TransferResource());
 }