Esempio n. 1
0
        public double consumeFNResourcePerSecond(double power_per_second, String resourcename)
        {
            power_per_second = Math.Max(power_per_second, 0);

            ORSResourceManager manager = getManagerForVessel(resourcename, vessel);

            if (manager == null)
            {
                //UnityEngine.Debug.LogWarning("ORS - did not find manager for vessel");
                return(0);
            }

            if (!fnresource_supplied.ContainsKey(resourcename))
            {
                fnresource_supplied.Add(resourcename, 0);
            }

            double power_taken_per_second = Math.Max(Math.Min(power_per_second, fnresource_supplied[resourcename]), 0);

            fnresource_supplied[resourcename] -= power_taken_per_second;

            manager.powerDrawPerSecond(this, power_per_second, power_taken_per_second);

            return(power_taken_per_second);
        }
Esempio n. 2
0
        public double consumeFNResourcePerSecond(double power_per_second, String resourcename, ORSResourceManager manager = null)
        {
            power_per_second = Math.Max(power_per_second, 0);

            if (manager == null)
            {
                manager = getManagerForVessel(resourcename);
            }
            if (manager == null)
            {
                return(0);
            }

            if (!fnresource_supplied.ContainsKey(resourcename))
            {
                fnresource_supplied.Add(resourcename, 0);
            }

            double power_taken_per_second = Math.Max(Math.Min(power_per_second, fnresource_supplied[resourcename]), 0);

            fnresource_supplied[resourcename] -= power_taken_per_second;

            manager.powerDrawPerSecond(this, power_per_second, power_taken_per_second);

            return(power_taken_per_second);
        }