public void UpdateSettings(GasColorSettings settings) { this.settings = settings; if (texture == null) // || texture.height != settings.stripeColorSettings.stripes.Length) { texture = new Texture2D(textureResolution, 1); //settings.stripeColorSettings.stripes.Length); } }
public void RegenerateColor() { GasColorSettings settings = ScriptableObject.CreateInstance("GasColorSettings") as GasColorSettings; settings.planetMaterial = new Material(material); Color colorBase = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)); Color ringColor = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)); settings.planetMaterial.SetColor("_BaseColor", colorBase); rings.UpdateRingColor(ringColor); //rings.ringMat.SetColor("_BaseColor", ringColor); Color color1 = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)); Color color2 = color1; Gradient gradient = new Gradient(); GradientColorKey[] gradientColorKeys = new GradientColorKey[2]; gradientColorKeys[0] = new GradientColorKey(color1, 0f); gradientColorKeys[1] = new GradientColorKey(color2, 1f); settings.planetColor = gradient; planet.colorSettings = settings; }