Пример #1
0
        ConfigNode GetAllAxesFromPartsAndModules(List <Part> partList)
        {
            ConfigNode localAxesNodes = new ConfigNode();

            for (int partNum = 0; partNum < partList.Count; partNum++)
            {
                Part       part     = partList[partNum];
                ConfigNode partNode = new ConfigNode(PartNodeStringValue(part));

                bool hasAxis = false;
                for (int moduleNum = 0; moduleNum < part.Modules.Count; moduleNum++)
                {
                    PartModule module = part.Modules[moduleNum];

                    ConfigNode axeNode = new ConfigNode(ModuleNodeStringValue(module));

                    AxisGroupsManager.SaveAxisFieldNodes(module, axeNode);
                    if (axeNode.HasNode(axisgroups))
                    {
                        hasAxis = true;
                        partNode.AddNode(axeNode);
                    }
                }
                if (hasAxis)
                {
                    localAxesNodes.AddNode(partNode);
                }
            }
            return(localAxesNodes);
        }
Пример #2
0
        void RestoreAxes(List <Part> partsList)
        {
            for (int partNum = 0; partNum < partsList.Count; partNum++)
            {
                Part part = partsList[partNum];
                if (axesNodes.HasNode(PartNodeStringValue(part)))
                {
                    var partNode = axesNodes.GetNode(PartNodeStringValue(part));
                    for (int moduleNum = 0; moduleNum < part.Modules.Count; moduleNum++)
                    {
                        PartModule module = part.Modules[moduleNum];
                        if (partNode.HasNode(ModuleNodeStringValue(module)))
                        {
                            var moduleNode = partNode.GetNode(ModuleNodeStringValue(module));

                            //moduleNode.Save("moduleNode-" + partNum + "-" + moduleNum);

                            AxisGroupsManager.BuildBaseAxisFields(module);
                            AxisGroupsManager.LoadAxisFieldNodes(module, moduleNode);
                        }
                    }
                }
            }
        }