Ejemplo n.º 1
0
        private float CalculateVesselPrice(bool withCargo)
        {
            double price = 0.0f;

            string[] propellantResources = new string[0];

            if (trackReturnResources == "")
            {
                //RmmUtil.DetermineProppellantArray(vessel, ref propellantResources);
            }
            else
            {
                RmmUtil.GetProppellantArray(trackReturnResources, ref propellantResources);
            }
            //cost parts
            foreach (Part p in vessel.parts)
            {
                double missingResCost = 0;
                foreach (PartResource r in p.Resources)
                {
                    if (withCargo || propellantResources.Contains(r.info.name))
                    {
                        missingResCost = missingResCost + RmmUtil.Cost(r.info.name, (r.maxAmount - r.amount));
                    }
                    else
                    {
                        missingResCost = missingResCost + RmmUtil.Cost(r.info.name, r.maxAmount);
                    }
                }

                price = price + (p.partInfo.cost - missingResCost + part.GetModuleCosts(0));
            }
            return((float)price);
        }