Esempio n. 1
0
 public override ICollection <Property> Properties()
 {
     return(Property.JoinProperties(base.Properties(), new Property[]
     {
         new Property("mat", "Material",
                      () => material,
                      v =>
         {
             material = (Material)v;
             if (marker != null)
             {
                 marker.storedMaterials[0] = material;
                 marker.UpdateMarker();
             }
         },
                      PropertyGUIs.Material("Materials", true,
                                            MaterialSelectorGUI.ColorModeSet.OBJECT, true))
     }));
 }
Esempio n. 2
0
    public ICollection <Property> Properties()
    {
        return(new Property[]
        {
            new Property("sky", "Sky",
                         () => RenderSettings.skybox,
                         v => {
                SetSky((Material)v);
            },
                         PropertyGUIs.Material("GameAssets/Skies", false, MaterialSelectorGUI.ColorModeSet.UNLIT_ONLY)),
            new Property("amb", "Ambient light intensity",
                         () => RenderSettings.ambientIntensity,
                         v => RenderSettings.ambientIntensity = (float)v,
                         PropertyGUIs.Slider(0, 3)),
            new Property("sin", "Sun intensity",
                         () => RenderSettings.sun.intensity,
                         v => RenderSettings.sun.intensity = (float)v,
                         PropertyGUIs.Slider(0, 3)),
            new Property("sco", "Sun color",
                         () => RenderSettings.sun.color,
                         v => RenderSettings.sun.color = (Color)v,
                         PropertyGUIs.Color),
            new Property("spi", "Sun pitch",
                         () => {
                float value = RenderSettings.sun.transform.rotation.eulerAngles.x;
                if (value > 270)
                {
                    value -= 360;
                }
                return value;
            },
                         v => {
                Vector3 eulerAngles = RenderSettings.sun.transform.rotation.eulerAngles;
                eulerAngles.x = (float)v;
                RenderSettings.sun.transform.rotation = Quaternion.Euler(eulerAngles);
            },
                         PropertyGUIs.Slider(-90, 90)),
            new Property("sya", "Sun yaw",
                         () => RenderSettings.sun.transform.rotation.eulerAngles.y,
                         v => {
                Vector3 eulerAngles = RenderSettings.sun.transform.rotation.eulerAngles;
                eulerAngles.y = (float)v;
                RenderSettings.sun.transform.rotation = Quaternion.Euler(eulerAngles);

                UpdateSky();
            },
                         PropertyGUIs.Slider(0, 360)),
            new Property("fdn", "Fog density",
                         () => RenderSettings.fog ? Mathf.Sqrt(RenderSettings.fogDensity) : 0.0f,
                         v => {
                float value = (float)v;
                if (value == 0)
                {
                    RenderSettings.fog = false;
                }
                else
                {
                    RenderSettings.fog = true;
                    RenderSettings.fogDensity = value * value;
                }
            },
                         PropertyGUIs.Slider(0, 1)),
            new Property("fco", "Fog color",
                         () => RenderSettings.fogColor,
                         v => RenderSettings.fogColor = (Color)v,
                         PropertyGUIs.Color)
        });
    }
Esempio n. 3
0
    public override IEnumerable <Property> Properties()
    {
        return(new Property[]
        {
            new Property("sky", "Sky",
                         () => RenderSettings.skybox,
                         v => {
                SetSky((Material)v);
            },
                         PropertyGUIs.Material("Skies", false)),
            new Property("amb", "Ambient light intensity",
                         () => RenderSettings.ambientIntensity,
                         v => RenderSettings.ambientIntensity = (float)v,
                         PropertyGUIs.Slider(0, 3)),
            new Property("sin", "Sun intensity",
                         () => RenderSettings.sun.intensity,
                         v => RenderSettings.sun.intensity = (float)v,
                         PropertyGUIs.Slider(0, 3)),
            new Property("sco", "Sun color",
                         () => RenderSettings.sun.color,
                         v => RenderSettings.sun.color = (Color)v,
                         PropertyGUIs.Color),
            new Property("spi", "Sun pitch",
                         () => {
                float value = RenderSettings.sun.transform.rotation.eulerAngles.x;
                if (value >= 270)
                {
                    value -= 360;
                }
                return value;
            },
                         v => {
                Vector3 eulerAngles = RenderSettings.sun.transform.rotation.eulerAngles;
                eulerAngles.x = (float)v;
                RenderSettings.sun.transform.rotation = Quaternion.Euler(eulerAngles);

                UpdateEnvironment();
            },
                         PropertyGUIs.Slider(-90, 90)),
            new Property("sya", "Sun yaw",
                         () => RenderSettings.sun.transform.rotation.eulerAngles.y,
                         v => {
                Vector3 eulerAngles = RenderSettings.sun.transform.rotation.eulerAngles;
                eulerAngles.y = (float)v;
                RenderSettings.sun.transform.rotation = Quaternion.Euler(eulerAngles);

                UpdateSky();
            },
                         PropertyGUIs.Slider(0, 360)),
            new Property("sha", "Shadows",
                         () => RenderSettings.sun.shadowStrength,
                         v => RenderSettings.sun.shadowStrength = (float)v,
                         PropertyGUIs.Slider(0, 1)),
            new Property("ref", "Reflections",
                         () => GetReflectionProbe().intensity,
                         v => GetReflectionProbe().intensity = (float)v,
                         PropertyGUIs.Slider(0, 1)),
            new Property("fdn", "Fog density",
                         () => RenderSettings.fog ? Mathf.Sqrt(RenderSettings.fogDensity) : 0.0f,
                         v => {
                float value = (float)v;
                if (value == 0)
                {
                    RenderSettings.fog = false;
                }
                else
                {
                    RenderSettings.fog = true;
                    RenderSettings.fogDensity = value * value;
                }
            },
                         PropertyGUIs.Slider(0, 1)),
            new Property("fco", "Fog color",
                         () => RenderSettings.fogColor,
                         v => RenderSettings.fogColor = (Color)v,
                         PropertyGUIs.Color)
        });
    }