public TextureSetContainer(PartModule pm, BaseField textureSetField, BaseField persistentDataField, ConfigNode[] textureSetNodes) { this.pm = pm; this.textureSetField = textureSetField; this.persistentDataField = persistentDataField; loadPersistentData(persistentData); this.textureSets = KSPShaderLoader.getTextureSets(textureSetNodes); }
public void Start() { INSTANCE = this; DontDestroyOnLoad(this); if (partListLoadedEvent == null) { partListLoadedEvent = new EventVoid.OnEvent(onPartListLoaded); GameEvents.OnPartLoaderLoaded.Add(partListLoadedEvent); } }
public Material createMaterial(string name) { string shdName = string.IsNullOrEmpty(this.shader) ? "KSP/Diffuse" : this.shader; Shader shd = KSPShaderLoader.getShader(shdName); Material mat = new Material(shd); mat.name = name; TextureSet.updateMaterialProperties(mat, props); return(mat); }
public static void updateMaterial(Material mat, string shader, ShaderProperty[] props) { if (!String.IsNullOrEmpty(shader)) { Shader s = KSPShaderLoader.getShader(shader); if (s != null && s != mat.shader) { mat.shader = s; } } updateMaterialProperties(mat, props); }
public static void updateMaterial(Material mat, string shader, ShaderProperty[] props) { if (!String.IsNullOrEmpty(shader)) { Shader s = KSPShaderLoader.getShader(shader); if (s != null && s != mat.shader) { mat.shader = s; } else if (s == null) { MonoBehaviour.print("ERROR: KSPShaderLoader - Could not locate shader: " + shader + " while updating material: " + mat); } } updateMaterialProperties(mat, props); }
public static string[] getTextureSetTitles(ConfigNode[] nodes) { List <string> names = new List <string>(); string name; TextureSet set; int len = nodes.Length; for (int i = 0; i < len; i++) { name = nodes[i].GetStringValue("name"); set = KSPShaderLoader.getTextureSet(name); if (set != null) { names.Add(set.title); } } return(names.ToArray()); }
public void toggleDebugSphere() { if (debugSphere != null) { GameObject.Destroy(debugSphere); debugSphere = null; } else { debugSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); debugSphere.name = "ReflectionDebugSphere"; GameObject.DestroyImmediate(debugSphere.GetComponent <Collider>()); debugSphere.transform.localScale = Vector3.one * 10f; Shader metallic = KSPShaderLoader.getShader("SSTU/PBR/Metallic"); Material mat = new Material(metallic); mat.SetFloat("_Metallic", 1); mat.SetFloat("_Smoothness", 1); debugSphere.GetComponent <MeshRenderer>().material = mat; } }