/// <summary> /// Enables the input texture set name, or default texture for the model if 'none' or 'default' is input for the set name /// </summary> /// <param name="setName"></param> public void enableTextureSet(String setName) { if (setName == "none" || setName == "default" || String.IsNullOrEmpty(setName)) { return; } ModelTextureSet mts = Array.Find(modelDefinition.textureSets, m => m.name == setName); if (mts == null) { MonoBehaviour.print("ERROR: No texture set data for set by name: " + setName + " -- for model: " + name); if (String.IsNullOrEmpty(modelDefinition.defaultTextureSet)) { MonoBehaviour.print("ERROR: Default texture set was null or empty string, this is a configuration error. " + "Please correct the model definition for model: " + modelDefinition.name + " to add a proper default texture set definition."); } int len = modelDefinition.textureSets.Length; MonoBehaviour.print("Texture sets avaialble for model: " + len + ". Default set: " + modelDefinition.defaultTextureSet); for (int i = 0; i < len; i++) { MonoBehaviour.print("\n" + modelDefinition.textureSets[i].name); } } else if (model != null) { mts.enable(model); } }
public String getNextTextureSetName(String currentSetName, bool iterateBackwards) { ModelTextureSet set = SSTUUtils.findNext(modelDefinition.textureSets, m => m.name == currentSetName, iterateBackwards); String newSetName = set == null ? "none" : set.name; return(newSetName); }
public ModelDefinition(ConfigNode node) { configNode = node; name = node.GetStringValue("name", String.Empty); modelName = node.GetStringValue("modelName", String.Empty); techLimit = node.GetStringValue("techLimit", techLimit); height = node.GetFloatValue("height", height); volume = node.GetFloatValue("volume", volume); mass = node.GetFloatValue("mass", mass); cost = node.GetFloatValue("cost", cost); diameter = node.GetFloatValue("diameter", diameter); verticalOffset = node.GetFloatValue("verticalOffset", verticalOffset); invertForTop = node.GetBoolValue("invertForTop", invertForTop); invertForBottom = node.GetBoolValue("invertForBottom", invertForBottom); fairingDisabled = node.GetBoolValue("fairingDisabled", fairingDisabled); fairingTopOffset = node.GetFloatValue("fairingTopOffset"); rcsVerticalPosition = node.GetFloatValue("rcsVerticalPosition", rcsVerticalPosition); rcsHorizontalPosition = node.GetFloatValue("rcsHorizontalPosition", rcsHorizontalPosition); rcsVerticalRotation = node.GetFloatValue("rcsVerticalRotation", rcsVerticalRotation); rcsHorizontalRotation = node.GetFloatValue("rcsHorizontalRotation", rcsHorizontalRotation); defaultTextureSet = node.GetStringValue("defaultTextureSet"); String[] attachNodeStrings = node.GetValues("node"); int len = attachNodeStrings.Length; attachNodeData = new AttachNodeBaseData[len]; for (int i = 0; i < len; i++) { attachNodeData[i] = new AttachNodeBaseData(attachNodeStrings[i]); } ConfigNode[] textureSetNodes = node.GetNodes("TEXTURESET"); len = textureSetNodes.Length; textureSets = new ModelTextureSet[len]; for (int i = 0; i < len; i++) { textureSets[i] = new ModelTextureSet(textureSetNodes[i]); } if (node.HasValue("surface")) { surfaceNode = new AttachNodeBaseData(node.GetStringValue("surface")); } else { String val = (diameter * 0.5f) + ",0,0,1,0,0,2"; surfaceNode = new AttachNodeBaseData(val); } }
public ModelDefinition(ConfigNode node) { name = node.GetStringValue("name", String.Empty); modelName = node.GetStringValue("modelName", String.Empty); techLimit = node.GetStringValue("techLimit", techLimit); height = node.GetFloatValue("height", height); volume = node.GetFloatValue("volume", volume); mass = node.GetFloatValue("mass", mass); cost = node.GetFloatValue("cost", cost); diameter = node.GetFloatValue("diameter", diameter); verticalOffset = node.GetFloatValue("verticalOffset", verticalOffset); invertForTop = node.GetBoolValue("invertForTop", invertForTop); invertForBottom = node.GetBoolValue("invertForBottom", invertForBottom); fairingDisabled = node.GetBoolValue("fairingDisabled", fairingDisabled); fairingTopOffset = node.GetFloatValue("fairingTopOffset"); rcsVerticalPosition = node.GetFloatValue("rcsVerticalPosition", rcsVerticalPosition); rcsHorizontalPosition = node.GetFloatValue("rcsHorizontalPosition", rcsHorizontalPosition); rcsVerticalRotation = node.GetFloatValue("rcsVerticalRotation", rcsVerticalRotation); rcsHorizontalRotation = node.GetFloatValue("rcsHorizontalRotation", rcsHorizontalRotation); defaultTextureSet = node.GetStringValue("defaultTextureSet"); String[] attachNodeStrings = node.GetValues("node"); int len = attachNodeStrings.Length; attachNodeData = new AttachNodeBaseData[len]; for (int i = 0; i < len; i++) { attachNodeData[i] = new AttachNodeBaseData(attachNodeStrings[i]); } ConfigNode[] textureSetNodes = node.GetNodes("TEXTURESET"); len = textureSetNodes.Length; textureSets = new ModelTextureSet[len]; for (int i = 0; i < len; i++) { textureSets[i] = new ModelTextureSet(textureSetNodes[i]); } if (node.HasValue("surface")) { surfaceNode = new AttachNodeBaseData(node.GetStringValue("surface")); } else { String val = (diameter*0.5f) + ",0,0,1,0,0,2"; surfaceNode = new AttachNodeBaseData(val); } }