Example #1
0
 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);
     }
 }
Example #3
0
        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);
        }
Example #4
0
 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);
 }
Example #5
0
 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);
 }
Example #6
0
        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;
     }
 }