ParseCfgVector3() public static method

public static ParseCfgVector3 ( string vectorString ) : Vector3
vectorString string
return Vector3
示例#1
0
        private void AddGrabModule(ConfigNode node)
        {
            foreach (ConfigNode grabNode in node.GetNodes("GRAB"))
            {
                // Check if the node has value
                if (!grabNode.HasValue("stockPartName"))
                {
                    KAS_Shared.DebugWarning("AddGrabModule(AddModule) Missing stockPartName node !");
                    continue;
                }
                // Add and Retrieve the module
                string        partName = grabNode.GetValue("stockPartName").Replace('_', '.');
                AvailablePart aPart    = PartLoader.getPartInfoByName(partName);
                if (aPart == null)
                {
                    KAS_Shared.DebugError("AddModule(AddModule) - " + partName + " not found in partloader");
                    continue;
                }

                // get or add grab module
                KASModuleGrab grabModule = aPart.partPrefab.GetComponent <KASModuleGrab>();
                if (grabModule)
                {
                    KAS_Shared.DebugWarning("AddModule(AddModule) - KASModuleGrab already added to " + partName);
                }
                else
                {
                    grabModule = aPart.partPrefab.AddModule("KASModuleGrab") as KASModuleGrab;
                    if (!grabModule)
                    {
                        KAS_Shared.DebugError("AddGrabModule(AddModule) Error when adding module !");
                        continue;
                    }
                }

                // Configure the module
                if (grabNode.HasValue("evaPartPos"))
                {
                    grabModule.evaPartPos = KAS_Shared.ParseCfgVector3(grabNode.GetValue("evaPartPos"));
                }
                if (grabNode.HasValue("evaPartDir"))
                {
                    grabModule.evaPartDir = KAS_Shared.ParseCfgVector3(grabNode.GetValue("evaPartDir"));
                }
                if (grabNode.HasValue("customGroundPos"))
                {
                    grabModule.customGroundPos = bool.Parse(grabNode.GetValue("customGroundPos"));
                }
                if (grabNode.HasValue("dropPartPos"))
                {
                    grabModule.dropPartPos = KAS_Shared.ParseCfgVector3(grabNode.GetValue("dropPartPos"));
                }
                if (grabNode.HasValue("dropPartRot"))
                {
                    grabModule.dropPartRot = KAS_Shared.ParseCfgVector3(grabNode.GetValue("dropPartRot"));
                }
                if (grabNode.HasValue("physicJoint"))
                {
                    grabModule.physicJoint = bool.Parse(grabNode.GetValue("physicJoint"));
                }
                if (grabNode.HasValue("addPartMass"))
                {
                    grabModule.addPartMass = bool.Parse(grabNode.GetValue("addPartMass"));
                }
                if (grabNode.HasValue("storable"))
                {
                    grabModule.storable = bool.Parse(grabNode.GetValue("storable"));
                }
                if (grabNode.HasValue("stateless"))
                {
                    grabModule.stateless = bool.Parse(grabNode.GetValue("stateless"));
                }
                if (grabNode.HasValue("storedSize"))
                {
                    grabModule.storedSize = int.Parse(grabNode.GetValue("storedSize"));
                }
                if (grabNode.HasValue("bayType"))
                {
                    grabModule.bayType = grabNode.GetValue("bayType").ToString();
                }
                if (grabNode.HasValue("bayNode"))
                {
                    grabModule.bayNode = grabNode.GetValue("bayNode").ToString();
                }
                if (grabNode.HasValue("bayRot"))
                {
                    grabModule.bayRot = KAS_Shared.ParseCfgVector3(grabNode.GetValue("bayRot"));
                }
                if (grabNode.HasValue("grabSndPath"))
                {
                    grabModule.grabSndPath = grabNode.GetValue("grabSndPath").ToString();
                }
                if (grabNode.HasValue("attachMaxDist"))
                {
                    grabModule.attachMaxDist = float.Parse(grabNode.GetValue("attachMaxDist"));
                }
                if (grabNode.HasValue("attachOnPart"))
                {
                    grabModule.attachOnPart = bool.Parse(grabNode.GetValue("attachOnPart"));
                }
                if (grabNode.HasValue("attachOnEva"))
                {
                    grabModule.attachOnEva = bool.Parse(grabNode.GetValue("attachOnEva"));
                }
                if (grabNode.HasValue("attachOnStatic"))
                {
                    grabModule.attachOnStatic = bool.Parse(grabNode.GetValue("attachOnStatic"));
                }
                if (grabNode.HasValue("attachSendMsgOnly"))
                {
                    grabModule.attachSendMsgOnly = bool.Parse(grabNode.GetValue("attachSendMsgOnly"));
                }
                if (grabNode.HasValue("attachPartSndPath"))
                {
                    grabModule.attachPartSndPath = grabNode.GetValue("attachPartSndPath").ToString();
                }
                if (grabNode.HasValue("attachStaticSndPath"))
                {
                    grabModule.attachStaticSndPath = grabNode.GetValue("attachStaticSndPath").ToString();
                }
                if (grabNode.HasValue("detachSndPath"))
                {
                    grabModule.detachSndPath = grabNode.GetValue("detachSndPath").ToString();
                }
                KAS_Shared.DebugLog("AddGrabModule(AddModule) Module successfully configured on " + partName);
            }
        }