Exemple #1
0
        private void OnVariantApplied(Part p, PartVariant pv)
        {
            if (p == null || p.partInfo.partPrefab == null || p != this.part)
            {
                return;
            }

            Log.Info("KRnDModule.OnVariantApplied, part: " + p.partInfo.title + ", " + p.name);
            String partName = KRnD.sanatizePartName(p.name);

            if (KRnD.originalStats.TryGetValue(partName, out PartStats partStats))
            {
                if (partStats.kRnDVariants != null && partStats.kRnDVariants.TryGetValue(pv.Name, out KRnDVariant kv))
                {
                    partStats.currentVariant     = pv.Name;
                    partStats.currentVariantMass = kv.mass;
                    this.part.partInfo.variant   = pv; // ??? why doesn't KSP do this
                }
            }
            else
            {
                throw new Exception("no original-stats for part '" + partName + "'");
            }
        }