コード例 #1
0
        /// <summary>
        /// Retrievse all the quality settings
        /// </summary>
        private void PopulateExistingQualitySettingsPresetsList()
        {
            _foundQualitySettingsPresets = new List <string>();
            string[] tmp = AssetDatabase.FindAssets("t:AuraQualitySettings");
            for (int i = 0; i < tmp.Length; ++i)
            {
                string path = AssetDatabase.GUIDToAssetPath(tmp[i]);
                if (!AssetDatabase.LoadAssetAtPath <AuraQualitySettings>(path).Equals(Aura.ResourcesCollection.editionCameraQualitySettings)) // rule out edition quality settings
                {
                    _foundQualitySettingsPresets.Add(path);
                }
            }

            _selectedQualitySettingsPresetId = -1;
            if (_foundQualitySettingsPresets.Count > 0)
            {
                _foundQualitySettingsPresetsName = new string[_foundQualitySettingsPresets.Count];
                for (int i = 0; i < _foundQualitySettingsPresets.Count; ++i)
                {
                    AuraQualitySettings preset = AssetDatabase.LoadAssetAtPath <AuraQualitySettings>(_foundQualitySettingsPresets[i]);
                    if (_currentAuraComponent.frustumSettings.qualitySettings == preset)
                    {
                        _foundQualitySettingsPresetsName[i] = "Current";
                        _selectedQualitySettingsPresetId    = i;
                        continue;
                    }
                    _foundQualitySettingsPresetsName[i] = preset.name;
                    string presetPath = Directory.GetParent(AssetDatabase.GetAssetPath(preset)).FullName;
                    presetPath = ("Assets" + presetPath.Substring(Application.dataPath.Length) + "\\").Replace('/', '\\');
                    _foundQualitySettingsPresetsName[i] += " (in " + presetPath + ")";
                }
            }
        }
コード例 #2
0
 private static void Initialize(SerializedObject serializedObject)
 {
     _debugVolumetricLightingProperty       = serializedObject.FindProperty("displayVolumetricLightingBuffer");
     _frustumGridResolutionProperty         = serializedObject.FindProperty("frustumGridResolution");
     _enableAutomaticStereoResizingProperty = serializedObject.FindProperty("enableAutomaticStereoResizing");
     _gridSettingsFarPlaneProperty          = serializedObject.FindProperty("farClipPlaneDistance");
     _depthBiasCoefficientProperty          = serializedObject.FindProperty("depthBiasCoefficient");
     _enableVolumesProperty = serializedObject.FindProperty("enableVolumes");
     _enableVolumesTexture2DMaskProperty     = serializedObject.FindProperty("enableVolumesTexture2DMask");
     _enableVolumesTexture3DMaskProperty     = serializedObject.FindProperty("enableVolumesTexture3DMask");
     _enableVolumesNoiseMaskProperty         = serializedObject.FindProperty("enableVolumesNoiseMask");
     _enableAmbientLightingProperty          = serializedObject.FindProperty("enableAmbientLighting");
     _enableDirectionalLightsProperty        = serializedObject.FindProperty("enableDirectionalLights");
     _enableDirectionalLightsShadowsProperty = serializedObject.FindProperty("enableDirectionalLightsShadows");
     _enableSpotLightsProperty           = serializedObject.FindProperty("enableSpotLights");
     _enableSpotLightsShadowsProperty    = serializedObject.FindProperty("enableSpotLightsShadows");
     _enablePointLightsProperty          = serializedObject.FindProperty("enablePointLights");
     _enablePointLightsShadowsProperty   = serializedObject.FindProperty("enablePointLightsShadows");
     _enableLightsCookiesProperty        = serializedObject.FindProperty("enableLightsCookies");
     _enableDitheringProperty            = serializedObject.FindProperty("enableDithering");
     _texture3DFilteringProperty         = serializedObject.FindProperty("texture3DFiltering");
     _enableDenoisingFilterProperty      = serializedObject.FindProperty("enableDenoisingFilter");
     _denoisingFilterRangeProperty       = serializedObject.FindProperty("denoisingFilterRange");
     _enableTemporalReprojectionProperty = serializedObject.FindProperty("enableTemporalReprojection");
     _temporalReprojectionFactorProperty = serializedObject.FindProperty("temporalReprojectionFactor");
     _enableOcclusionCullingProperty     = serializedObject.FindProperty("enableOcclusionCulling");
     _occlusionCullingAccuracyProperty   = serializedObject.FindProperty("occlusionCullingAccuracy");
     _enableLightProbesProperty          = serializedObject.FindProperty("enableLightProbes");
     //_lightProbesProxyGridResolutionProperty = serializedObject.FindProperty("lightProbesProxyGridResolution");
     _current = (AuraQualitySettings)serializedObject.targetObject;
 }
コード例 #3
0
ファイル: FrustumSettings.cs プロジェクト: cello90/GGJ2020
        /// <summary>
        /// Shows the file saving window then saves the frustum quality settings as an asset
        /// </summary>
        public void SaveQualitySettings()
        {
            string fullPathName = EditorUtility.SaveFilePanelInProject("Save Quality Settings", QualitySettings.name, "asset", "Please select a location and a filename.");

            if (fullPathName.Length > 0)
            {
                AuraQualitySettings qualitySettingsInstance = AuraQualitySettings.Instantiate <AuraQualitySettings>(QualitySettings);
                AssetDatabase.CreateAsset(qualitySettingsInstance, fullPathName);
                QualitySettings = qualitySettingsInstance;
            }
        }
コード例 #4
0
ファイル: FrustumSettings.cs プロジェクト: cello90/GGJ2020
        /// <summary>
        /// Shows the file selection window then replaces the current frustum quality settings with the selected one
        /// </summary>
        public void LoadQualitySettings()
        {
            string dataFolderPath = Application.dataPath + "/";
            string path           = EditorUtility.OpenFilePanelWithFilters("Load Quality Settings", Application.dataPath, new string[] { "Aura Quality Settings", "asset" });

            if (path.StartsWith(dataFolderPath, StringComparison.CurrentCultureIgnoreCase))
            {
                path = "Assets/" + path.Substring(dataFolderPath.Length);
                AuraQualitySettings loadedSettings = AssetDatabase.LoadAssetAtPath <AuraQualitySettings>(path);
                LoadQualitySettings(loadedSettings);
            }
        }
コード例 #5
0
        private void OnEnable()
        {
            _currentAuraComponent = (AuraCamera)serializedObject.targetObject;

            _baseSettingsTabButtonContent = new GUIContent("Base Settings", Aura.ResourcesCollection.injectionIconTexture, "Displays the BASE SETTINGS panel");
            _baseSettingsProperty         = serializedObject.FindProperty("frustumSettings.baseSettings");

            _qualitySettingsTabButtonContent = new GUIContent("Quality Settings", Aura.ResourcesCollection.optionsIconTexture, "Displays the QUALITY SETTINGS panel");
            _qualitySettingsProperty         = serializedObject.FindProperty("frustumSettings.qualitySettings");

            _previousQualitySettings = (AuraQualitySettings)_qualitySettingsProperty.objectReferenceValue;

            PopulateExistingBaseSettingsPresetsList();

            PopulateExistingQualitySettingsPresetsList();
        }
コード例 #6
0
ファイル: FrustumSettings.cs プロジェクト: cello90/GGJ2020
 /// <summary>
 /// Replaces the current quality settings
 /// </summary>
 /// <param name="qualitySettings">the replacing quality settings</param>
 public void LoadQualitySettings(AuraQualitySettings qualitySettings)
 {
     this.QualitySettings = qualitySettings;
 }
コード例 #7
0
        /// <summary>
        /// Draws the quality settings area
        /// </summary>
        private void DisplayQualitySettingsArea()
        {
            AuraQualitySettings currentQualitySettings = (AuraQualitySettings)_qualitySettingsProperty.objectReferenceValue;

            if (!ReferenceEquals(_previousQualitySettings, currentQualitySettings))
            {
                _currentAuraComponent.frustumSettings.RaiseOnQualityChanged();
                PopulateExistingQualitySettingsPresetsList();
            }
            _previousQualitySettings = currentQualitySettings;

            EditorGUILayout.BeginVertical(GuiStyles.ButtonNoHover);

            EditorGUILayout.BeginVertical(GuiStyles.Background);

            EditorGUILayout.Separator();
            GUILayout.Label(new GUIContent("Aura <b>Quality Settings</b>", Aura.ResourcesCollection.qualitySettingsPresetIconTexture), new GUIStyle(GuiStyles.LabelCenteredBig)
            {
                fontSize = 15
            });
            EditorGUILayout.Separator();
            GuiHelpers.DrawContextualHelpBox("The \"Quality Settings Preset\" is the asset that holds the quality settings for the data computation.");

            //if (_foundQualitySettingsPresets.Count != AssetDatabase.FindAssets("t:AuraQualitySettings").Length)
            //{
            //    PopulateExistingQualitySettingsPresetsList();
            //}

            if (_foundQualitySettingsPresets.Count > 0)
            {
                EditorGUI.BeginChangeCheck();
                EditorGUILayout.BeginHorizontal();
                GUILayout.Label("Select Existing", GuiStyles.Label, GUILayout.MaxWidth(96));
                _selectedQualitySettingsPresetId = EditorGUILayout.Popup(_selectedQualitySettingsPresetId, _foundQualitySettingsPresetsName);
                EditorGUILayout.EndHorizontal();
                if (EditorGUI.EndChangeCheck())
                {
                    _currentAuraComponent.frustumSettings.LoadQualitySettings(AssetDatabase.LoadAssetAtPath <AuraQualitySettings>(_foundQualitySettingsPresets[_selectedQualitySettingsPresetId]));
                    PopulateExistingQualitySettingsPresetsList();
                }

                EditorGUILayout.Separator();
                EditorGUILayout.Separator();
            }

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Preset File", GuiStyles.Label, GUILayout.MaxWidth(80));
            EditorGUILayout.PropertyField(_qualitySettingsProperty, new GUIContent(""));
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();

            EditorGUILayout.BeginHorizontal();
            //if (GUILayout.Button(new GUIContent("Load Existing", Aura.AuraResourcesCollection.loadIconTexture, "Loads an existing preset file"), GuiStyles.ButtonBigNoBorder))
            //{
            //    _currentAuraComponent.frustumSettings.LoadQualitySettings();
            //}
            //GUILayout.Space(8);
            if (GUILayout.Button(new GUIContent("Save As New Preset", Aura.ResourcesCollection.saveIconTexture, "Saves the current settings in a new file"), GuiStyles.ButtonBigNoBorder))
            {
                _currentAuraComponent.frustumSettings.SaveQualitySettings();
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();

            EditorGUILayout.EndVertical();

            EditorGUILayout.Separator();
            EditorGUILayout.Separator();
            EditorGUILayout.Separator();

            SerializedObject qualitySettingsObject = new SerializedObject(_currentAuraComponent.frustumSettings.QualitySettings);

            AuraQualitySettingsEditor.DrawCustomEditor(qualitySettingsObject, _currentAuraComponent, false, true);

            EditorGUILayout.EndVertical();

            EditorGUILayout.Separator();
        }