Beispiel #1
0
    public static void CopyRenderSettings()
    {
        CustomRenderSettings r = new CustomRenderSettings();

        r.name = Path.GetFileNameWithoutExtension(EditorApplication.currentScene);
        int i = resEditor.renderSettings.FindIndex(a => a.name == r.name);

        if (i == -1)
        {
            resEditor.renderSettings.Add(r);
        }
        else
        {
            resEditor.renderSettings[i] = r;
        }
        r.fog              = RenderSettings.fog;
        r.ambientLight     = RenderSettings.ambientLight;
        r.flareStrength    = RenderSettings.flareStrength;
        r.fogColor         = RenderSettings.fogColor;
        r.fogDensity       = RenderSettings.fogDensity;
        r.fogEndDistance   = RenderSettings.fogEndDistance;
        r.fogMode          = RenderSettings.fogMode;
        r.fogStartDistance = RenderSettings.fogStartDistance;
        r.haloStrength     = RenderSettings.haloStrength;
        r.skybox           = RenderSettings.skybox;
        var monoBehaviours = Camera.main.GetComponents <MonoBehaviour>();

        for (int index = 0; index < monoBehaviours.Length; index++)
        {
            MonoBehaviour a = monoBehaviours[index];
            foreach (var f in a.GetType().GetFields())
            {
                var mp = new MyProperty().SetValue(f.Name, f.GetValue(a), a.GetType().Name);
                if (mp != null)
                {
                    r.properties.Add(mp);
                }
            }
        }
        EditorUtility.SetDirty(res);
    }
 public static void CopyRenderSettings()
 {
     CustomRenderSettings r = new CustomRenderSettings();
     r.name = Path.GetFileNameWithoutExtension(EditorApplication.currentScene);
     int i = resEditor.renderSettings.FindIndex(a => a.name == r.name);
     if (i == -1)
         resEditor.renderSettings.Add(r);
     else
         resEditor.renderSettings[i] = r;
     r.fog = RenderSettings.fog;
     r.ambientLight = RenderSettings.ambientLight;
     r.flareStrength = RenderSettings.flareStrength;
     r.fogColor = RenderSettings.fogColor;
     r.fogDensity = RenderSettings.fogDensity;
     r.fogEndDistance = RenderSettings.fogEndDistance;
     r.fogMode = RenderSettings.fogMode;
     r.fogStartDistance = RenderSettings.fogStartDistance;
     r.haloStrength = RenderSettings.haloStrength;
     r.skybox = RenderSettings.skybox;
     var monoBehaviours = Camera.main.GetComponents<MonoBehaviour>();
     for (int index = 0; index < monoBehaviours.Length; index++)
     {
         MonoBehaviour a = monoBehaviours[index];
         foreach (var f in a.GetType().GetFields())
         {
             var mp = new MyProperty().SetValue(f.Name, f.GetValue(a), a.GetType().Name);
             if (mp != null)
                 r.properties.Add(mp);
         }
     }
     EditorUtility.SetDirty(res);
 }