private TextureSet getSet(PartVariant variant) { string setName = variant.GetExtraInfoValue("textureSet"); TextureSet set = null; if (!string.IsNullOrEmpty(setName)) { set = TexturesUnlimitedLoader.getTextureSet(setName); textureSet = setName; modelShaderSet = string.Empty; return(set); } setName = variant.GetExtraInfoValue("modelShader"); if (!string.IsNullOrEmpty(setName)) { set = TexturesUnlimitedLoader.getModelShaderTextureSet(setName); modelShaderSet = setName; textureSet = string.Empty; return(set); } //if nothing found, clear out references if (TexturesUnlimitedLoader.logErrors || TexturesUnlimitedLoader.logAll) { MonoBehaviour.print("Could not load texture set for part variant: " + variant?.Name + " for part: " + part.name); } modelShaderSet = textureSet = string.Empty; return(null); }
/// <summary> /// Restores texture set data and either loads default texture set or saved texture set (if any) /// </summary> private void initialize() { if (textureSets != null) { //already initialized from OnLoad (prefab, some in-editor parts) return; } ConfigNode node = Utils.parseConfigNode(configNodeData); string[] setNames = node.GetStringValues("textureSet", false); string modelShaderName = node.GetStringValue("modelShader"); List <TextureSet> allSets = new List <TextureSet>(); if (!string.IsNullOrEmpty(modelShaderName)) { TextureSet set = TexturesUnlimitedLoader.getModelShaderTextureSet(modelShaderName); if (set != null) { allSets.Add(set); } } TextureSet[] sets = TexturesUnlimitedLoader.getTextureSets(setNames); for (int i = 0; i < sets.Length; i++) { allSets.Add(sets[i]); } ConfigNode[] fullNodeSets = node.GetNodes("KSP_TEXTURE_SET"); for (int i = 0; i < fullNodeSets.Length; i++) { allSets.Add(new TextureSet(fullNodeSets[i], "create")); } textureSets = new TextureSetContainer(this, Fields[nameof(currentTextureSet)], Fields[nameof(persistentData)], allSets); if (string.IsNullOrEmpty(currentTextureSet)) { currentTextureSet = allSets[0].name; } this.updateUIChooseOptionControl(nameof(currentTextureSet), textureSets.getTextureSetNames(), textureSets.getTextureSetTitles(), true, currentTextureSet); textureSets.enableCurrentSet(getModelTransforms(), false); Fields[nameof(currentTextureSet)].guiName = sectionName; }
private TextureSet getSet() { TextureSet set = null; if (!string.IsNullOrEmpty(textureSet) && (set = TexturesUnlimitedLoader.getTextureSet(textureSet)) != null) { modelShaderSet = string.Empty; return(set); } else if (!string.IsNullOrEmpty(modelShaderSet) && (set = TexturesUnlimitedLoader.getModelShaderTextureSet(modelShaderSet)) != null) { textureSet = string.Empty; return(set); } else if ((set = getSet(part.baseVariant)) != null) { return(set); } //if nothing found, clear out references modelShaderSet = textureSet = string.Empty; return(null); }
public TextureSet getSectionTexture(string name) { return(string.IsNullOrEmpty(textureSet)? TexturesUnlimitedLoader.getModelShaderTextureSet(modelShaderSet) : TexturesUnlimitedLoader.getTextureSet(textureSet)); }