コード例 #1
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (density > 0)
         return mass - defaultMass;
     else
         return 0.0f;
 }
コード例 #2
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     ProfileShape ps = getProfileType();
     if (ps == null)
         return 0f;
     return defaultCost * ps.costFactor;
 }
コード例 #3
0
        public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
        {
            if(HighLogic.LoadedSceneIsEditor)
                return totalCrew * PhysicsGlobals.KerbalCrewMass;

            return 0f;
        }
コード例 #4
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return massDelta;
 }
コード例 #5
0
 public Vector3 GetModuleSize(Vector3 defaultSize, ModifierStagingSituation sit)
 {
     return Vector3.zero;
 }
コード例 #6
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit) => density > 0 ? mass - defaultMass : 0;
コード例 #7
0
ファイル: kOSProcessor.cs プロジェクト: KSP-KOS/KOS
        //implement IPartCostModifier component
        public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
        {
            // the 'sit' arg is irrelevant to us, but the interface requires it.

            return baseModuleCost + additionalCost;
        }
コード例 #8
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit) => CurrentProceduralAvionicsTechNode.avionicsDensity > 0 ? GetAvionicsCost() : 0;
コード例 #9
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return standAlonePart ? -defaultMass + modifiedMass : modifiedMass;
 }
コード例 #10
0
 public virtual float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (StaticWingGlobals.FARactive)
         return 0;
     return (float)wingMass - defaultMass;
 }
コード例 #11
0
        public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
        {
            float scaleMod = (defaultMass * currentScale * currentScale) - defaultMass;

            return(modifiedMass + scaleMod);
        }
コード例 #12
0
        public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
        {
            float scaleMod = (defaultCost * currentScale * currentScale) - defaultCost;

            return(modifiedCost + scaleMod);
        }
コード例 #13
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit) => avionicsDensity > 0 ? GetAvionicsCost() : 0;
コード例 #14
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit) => avionicsDensity > 0 ? GetShieldedAvionicsMass() : 0;
コード例 #15
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit) => Contents.Sum(p => p.mass);
コード例 #16
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit) => Contents.Sum(p => p.partInfo.cost);
コード例 #17
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return(design == null || design.broken ? 0 : design.mass - defaultMass);
 }
コード例 #18
0
 /// <summary>
 /// Return the adjusted cost for the part based on current tank setup
 /// </summary>
 /// <param name="defaultCost"></param>
 /// <returns></returns>
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     if (currentTankCost < 0) { return 0; }
     return subtractCost ? -defaultCost + currentTankCost : currentTankCost;
 }
コード例 #19
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return(-defaultMass + modifiedMass);
 }
コード例 #20
0
 float IPartMassModifier.GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return currentState ? massOfBeingEnabled : 0;
 }
コード例 #21
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return -defaultMass + modifiedMass;
 }
コード例 #22
0
 //IModuleCostModifier Override
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     if (!adjustCost) { return 0; }
     if (currentEngineLayout != null && currentMountData != null)
     {
         modifiedCost = defaultCost * (float)currentEngineLayout.getLayoutData().positions.Count;
         modifiedCost += currentMountData.getModuleCost();
     }
     else { return 0f; }
     return -defaultCost + modifiedCost;
 }
コード例 #23
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return(-defaultCost + modifiedCost);
 }
コード例 #24
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit) => CurrentProceduralAvionicsTechNode.avionicsDensity > 0 ? GetShieldedAvionicsMass() : 0;
コード例 #25
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (assemblyFARUsed)
         return 0;
     return aeroUIMass - defaultMass;
 }
コード例 #26
0
 // mass change support
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return(deployed ? added_mass : 0.0f);
 }
コード例 #27
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (sm != null) {
     return (float) sm.ResourceMass;
     }
     return 0;
 }
コード例 #28
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation mss)
 {
     return(defaultCost + baseCost * getNumSeats());
 }
コード例 #29
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return inflated? 0 : -inflationCost;
 }
コード例 #30
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return((float)craft_mass);
 }
コード例 #31
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (FARactive)
         return 0;
     return (float)wingMass - defaultMass;
 }
コード例 #32
0
        public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
        {
            var moduleMassDelta = fixedMass ? initialMass : targetMass - initialMass;

            return((float)moduleMassDelta);
        }
コード例 #33
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     double cst = 0;
     if (baseCostPV >= 0) {
         cst = volume * baseCostPV;
         if (PartResourceLibrary.Instance != null && tankList != null) {
             for (int i = 0; i < tankList.Count; i++) {
                 FuelTank t = tankList[i];
                 if (t.resource != null) {
                     PartResourceDefinition d = PartResourceLibrary.Instance.GetDefinition (t.resource.resourceName);
                     if (d != null) {
                         cst += t.maxAmount * (d.unitCost + t.cost / t.utilization);
                     }
                 }
             }
         }
     }
     return (float)cst;
 }
コード例 #34
0
 // module cost support
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return(quality ? (float)extra_cost * part.partInfo.cost : 0.0f);
 }
コード例 #35
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return (float) craft_mass;
 }
コード例 #36
0
 // module mass support
 public float GetModuleMass(float defaultCost, ModifierStagingSituation sit)
 {
     return(quality ? (float)extra_mass * part.partInfo.partPrefab.mass : 0.0f);
 }
コード例 #37
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (currentTankMass < 0) { return 0; }
     return subtractMass ? -defaultMass + currentTankMass : currentTankMass;
 }
コード例 #38
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return(0);
     //return defaultCost;
 }
コード例 #39
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return FuelGetAddedCost() + updateCost() - defaultCost;
 }
コード例 #40
0
        //public float GetModuleCost(float stdCost)
        //{
        //    return thrust * 0.5f * costMultiplier;
        //}

        #region IPartCostModifier implementation

        public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
        {
            return(thrust * 0.5f * costMultiplier);
        }
コード例 #41
0
 public virtual Vector3 GetModuleSize(Vector3 defaultSize, ModifierStagingSituation sit)
 {
     // todo : implement size interface...
     return Vector3.zero;
 }
コード例 #42
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit) => shieldingCost;
コード例 #43
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return standAlonePart ? -defaultCost + modifiedCost : modifiedCost;
 }
コード例 #44
0
ファイル: SMIfuelSwitch.cs プロジェクト: gomker/SMIndustries
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return(updateCost());
 }
コード例 #45
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     if (modifiedCost == 0) { return 0; }
     return -defaultCost + modifiedCost;
 }
コード例 #46
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return(subtractCost ? -defaultCost + moduleCost : moduleCost);
 }
コード例 #47
0
 float IPartCostModifier.GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return currentState ? costOfBeingEnabled : 0;
 }
コード例 #48
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return(subtractMass ? -defaultMass + moduleMass : moduleMass);
 }
コード例 #49
0
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     /*if (!useStockFuel)
         return aeroUICost;
     else
         return FuelGetAddedCost () + aeroUICost;*/
     return FuelGetAddedCost() + aeroUICost - defaultCost;
 }
コード例 #50
0
        public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
        {
            float scale = currentDiameter / modelDiameter;

            return(-defaultCost + defaultCost * Mathf.Pow(scale, 3f));
        }
コード例 #51
0
        public float GetModuleCost(float stdCost, ModifierStagingSituation sit)
        {
            if (HighLogic.LoadedScene == GameScenes.EDITOR)
            {
                //Debug.Log("stdCost: " + stdCost);
                float cost = baseCost;
                if ((object)shape != null)
                    cost += shape.GetCurrentCostMult() * shape.Volume * costPerkL;
                //Debug.Log(cost);
                foreach (PartModule pm in part.Modules)
                {
                    if(pm is ICostMultiplier)
                    {
                       cost *= (pm as ICostMultiplier).GetCurrentCostMult();
                    }
                }
                float dryCost=0;
                float actualCost=0;

                if (!part.Modules.Contains("ModuleFuelTanks") && (object)PartResourceLibrary.Instance != null)
                {
                    if (!costsIncludeResources)
                    {
                        dryCost = cost;
                        actualCost = cost;
                        foreach (PartResource r in part.Resources)
                        {
                            PartResourceDefinition d = PartResourceLibrary.Instance.GetDefinition(r.resourceName);
                            if ((object)d != null)
                            {
                                cost += (float)(r.maxAmount * d.unitCost);
                                actualCost += (float)(r.amount * d.unitCost);
                            }
                        }
                    }
                    else
                    {
                        float minimumCosts = 0;

                        foreach (PartResource r in part.Resources)
                        {
                            PartResourceDefinition d = PartResourceLibrary.Instance.GetDefinition(r.resourceName);
                            if ((object)d != null)
                            {
                                minimumCosts += (float)(r.maxAmount * d.unitCost);
                            }
                        }
                        cost = Mathf.Max(minimumCosts, cost);
                        dryCost = cost;
                        actualCost = cost;

                        foreach (PartResource r in part.Resources)
                        {
                            PartResourceDefinition d = PartResourceLibrary.Instance.GetDefinition(r.resourceName);
                            if ((object)d != null)
                            {
                                dryCost -= (float)(r.maxAmount * d.unitCost);
                                actualCost -= (float)((r.maxAmount - r.amount) * d.unitCost);
                            }
                        }
                    }
                }
                moduleCost = cost;

                costDisplay = String.Format("Dry: {0:N0} Wet: {1:N0}", dryCost, actualCost);
            }
            return moduleCost;
        }
コード例 #52
0
        //implement IPartCostModifier component
        public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
        {
            // the 'sit' arg is irrelevant to us, but the interface requires it.

            return(baseModuleCost + additionalCost);
        }
コード例 #53
0
 //IModuleMassModifier Override
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     if (!adjustMass) { return 0; }
     if (modifiedMass < 0) { return 0; }
     return -defaultMass + modifiedMass;
 }
コード例 #54
0
        //implement IPartMassModifier component
        public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
        {
            // the 'sit' arg is irrelevant to us, but the interface requires it.

            return(baseModuleMass + additionalMass);
        }
コード例 #55
0
ファイル: kOSProcessor.cs プロジェクト: CalebJ2/KOS
        //implement IPartMassModifier component
        public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
        {
            // the 'sit' arg is irrelevant to us, but the interface requires it.

            return part.mass - defaultMass; //copied this fix from ProceduralParts mod as we already changed part.mass
            //return additionalMass;
        }
コード例 #56
0
 //Gives the cost for this parachute
 public float GetModuleCost(float defaultCost, ModifierStagingSituation sit)
 {
     return((float)Math.Round(this.DeployedArea * areaCost));
 }
コード例 #57
0
ファイル: kOSProcessor.cs プロジェクト: KSP-KOS/KOS
        //implement IPartMassModifier component
        public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
        {
            // the 'sit' arg is irrelevant to us, but the interface requires it.

            return baseModuleMass + additionalMass;
        }
コード例 #58
0
 //For IPartMassModifier
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return(this.massDelta);
 }
コード例 #59
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return inflated? 0 : -inflationMass;
 }
コード例 #60
0
 public float GetModuleMass(float defaultMass, ModifierStagingSituation sit)
 {
     return(standAlonePart ? -defaultMass + modifiedMass : modifiedMass);
 }