Exemple #1
0
        public Dictionary <AvailablePart, int> GetLockedParts()
        {
            var lockedPartsOnShip = new Dictionary <AvailablePart, int>();

            if (ResearchAndDevelopment.Instance == null)
            {
                return(lockedPartsOnShip);
            }

            foreach (ConfigNode pNode in shipNode.GetNodes("PART"))
            {
                string partName = KCT_Utilities.PartNameFromNode(pNode);
                if (!KCT_Utilities.PartIsUnlocked(partName))
                {
                    AvailablePart partInfoByName = PartLoader.getPartInfoByName(partName);
                    if (!lockedPartsOnShip.ContainsKey(partInfoByName))
                    {
                        lockedPartsOnShip.Add(partInfoByName, 1);
                    }
                    else
                    {
                        ++lockedPartsOnShip[partInfoByName];
                    }
                }
            }

            return(lockedPartsOnShip);
        }
Exemple #2
0
        public bool CheckPartsUnlocked()
        {
            if (ResearchAndDevelopment.Instance == null)
            {
                return(true);
            }

            foreach (ConfigNode pNode in shipNode.GetNodes("PART"))
            {
                if (!KCT_Utilities.PartIsUnlocked(pNode))
                {
                    return(false);
                }
            }

            return(true);
        }