public ModelSwitchData(ConfigNode node, Part owner, ModelSwitchGroup group) { name = node.GetStringValue("name"); modelName = node.GetStringValue("modelName", name); groupName = node.GetStringValue("group", groupName); containerIndex = node.GetIntValue("containerIndex", 0); moduleIDs = node.GetIntValues("managedModuleID", new int[] { }); localPosition = node.GetVector3("localPosition", Vector3.zero); localRotation = node.GetVector3("localRotation", Vector3.zero); scale = node.GetFloatValue("scale", scale); nodes = ModelNodeData.load(node.GetStringValues("node")); suppressNode = nodes.Length > 0; modelDefinition = SSTUModelData.getModelDefinition(modelName); if (modelDefinition == null) { throw new NullReferenceException("Could not locate model data for name: " + modelName + " :: " + name); } this.part = owner; this.group = group; this.group.add(this); }