NearFutureElectrical.DischargeCapacitor.OnFixedUpdate C# (CSharp) Method

OnFixedUpdate() public method

public OnFixedUpdate ( ) : void
return void
        public override void OnFixedUpdate()
        {
            if (Discharging)
            {
                for (int i = 0; i < capacityState.Length; i++)
                {

                    capacityState[i].normalizedTime = 1 - (-CurrentCharge / MaximumCharge);
                }

                float amt = TimeWarp.fixedDeltaTime * dischargeActual;

                if (DischargeGeneratesHeat && TimeWarp.CurrentRate <= 100f)
                {
                    this.part.AddThermalFlux((double)HeatRate);
                }

                this.part.RequestResource("StoredCharge", amt);
                this.part.RequestResource("ElectricCharge", -amt);

                CapacitorStatus = String.Format("Discharging: {0:F2}/s", dischargeActual);

                // if the amount returned is zero, disable discharging
                if (CurrentCharge <= 0f)
                {
                    Discharging = false;

                }
            }
            else if (Enabled && CurrentCharge < MaximumCharge)
            {
                for (int i = 0; i < capacityState.Length; i++)
                {
                    capacityState[i].normalizedTime = 1 - (-CurrentCharge / MaximumCharge);
                }
                double amt = this.part.RequestResource("ElectricCharge", TimeWarp.fixedDeltaTime * ChargeRate);

                if (amt > 0d)
                {
                    this.part.RequestResource("StoredCharge", -amt * ChargeRatio);
                    CapacitorStatus = String.Format("Recharging: {0:F2}/s", ChargeRate);
                }
                else
                {
                    CapacitorStatus = String.Format("Not enough ElectricCharge!");
                }
                lastUpdateTime = Planetarium.fetch.time;
            }
            else if (CurrentCharge == 0f)
            {
                CapacitorStatus = "Discharged!";
            } else
            {
                CapacitorStatus = String.Format("Ready");
            }
        }