Exemple #1
0
 private void TransferResources(ResourceTransferSummary res)
 {
     if (res.TransferAmount > 0)
     {
         var fromMax = _broker.AmountAvailable(_fromVessel.ThisVessel.rootPart, res.ResourceName,
                                               TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         var toMax = _broker.StorageAvailable(_toVessel.ThisVessel.rootPart, res.ResourceName,
                                              TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL, 1d);
         var xferMax = Math.Min(fromMax, toMax);
         var xferAmt = Math.Min(xferMax, res.TransferAmount);
         var xferFin = _broker.RequestResource(_fromVessel.ThisVessel.rootPart, res.ResourceName, xferAmt,
                                               TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         _broker.StoreResource(_toVessel.ThisVessel.rootPart, res.ResourceName, xferFin, TimeWarp.fixedDeltaTime,
                               ResourceFlowMode.ALL_VESSEL);
     }
     else
     {
         var fromMax = _broker.AmountAvailable(_toVessel.ThisVessel.rootPart, res.ResourceName,
                                               TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         var toMax = _broker.StorageAvailable(_fromVessel.ThisVessel.rootPart, res.ResourceName,
                                              TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL, 1d);
         var xferMax = Math.Min(fromMax, toMax);
         var xferAmt = Math.Min(xferMax, -res.TransferAmount);
         var xferFin = _broker.RequestResource(_toVessel.ThisVessel.rootPart, res.ResourceName, xferAmt,
                                               TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         _broker.StoreResource(_fromVessel.ThisVessel.rootPart, res.ResourceName, xferFin, TimeWarp.fixedDeltaTime,
                               ResourceFlowMode.ALL_VESSEL);
     }
 }
Exemple #2
0
 private void TransferResources(ResourceTransferSummary res)
 {
     if (res.TransferAmount > 0)
     {
         var fromMax = _broker.AmountAvailable(_fromVessel.ThisVessel.rootPart, res.ResourceName,
             TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         var toMax = _broker.StorageAvailable(_toVessel.ThisVessel.rootPart, res.ResourceName,
             TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL,1d);
         var xferMax = Math.Min(fromMax, toMax);
         var xferAmt = Math.Min(xferMax, res.TransferAmount);
         var xferFin = _broker.RequestResource(_fromVessel.ThisVessel.rootPart, res.ResourceName,xferAmt,
             TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         _broker.StoreResource(_toVessel.ThisVessel.rootPart, res.ResourceName, xferFin, TimeWarp.fixedDeltaTime,
             ResourceFlowMode.ALL_VESSEL);
     }
     else
     {
         var fromMax = _broker.AmountAvailable(_toVessel.ThisVessel.rootPart, res.ResourceName,
             TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         var toMax = _broker.StorageAvailable(_fromVessel.ThisVessel.rootPart, res.ResourceName,
             TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL, 1d);
         var xferMax = Math.Min(fromMax, toMax);
         var xferAmt = Math.Min(xferMax, -res.TransferAmount);
         var xferFin = _broker.RequestResource(_toVessel.ThisVessel.rootPart, res.ResourceName, xferAmt,
             TimeWarp.fixedDeltaTime, ResourceFlowMode.ALL_VESSEL);
         _broker.StoreResource(_fromVessel.ThisVessel.rootPart, res.ResourceName, xferFin, TimeWarp.fixedDeltaTime,
             ResourceFlowMode.ALL_VESSEL);
     }
 }