private void btnMin2_Click(object sender, EventArgs e) { Quality2 -= 1; if (Quality2 < 0) { Quality2 = 0; btnMin2.Enabled = false; } tbQuality2.Text = Quality2.ToString(); }
public void DrawSetQuality() { //Label("Select Quality:"); //if (_Loader.autoQuality) // GUI.enabled = false; Label("Graphics Quality"); GUILayout.BeginHorizontal(); if (!androidPlatform) { _Loader.autoQuality = GlowButton("Auto", _Loader.autoQuality) || _Loader.autoQuality; } Quality2 q = (Quality2)Toolbar(autoQuality ? -1 : (int)quality, Enum.GetNames(typeof(Quality2)), false, false, android || flash ? 4 : 99, -1, false); GUILayout.EndHorizontal(); if (quality != q && (int)q != -1) { _Loader.autoQuality = false; drawDistanceSet = false; StartCoroutine(SetQuality(q)); } //GUI.enabled = true; if (Application.platform != RuntimePlatform.Android) { bool shadows = Toggle(_Loader.shadows, "Enable shadows"); if (shadows != _Loader.shadows) { _Loader.shadows = shadows; UpdateShadows(); } } #if blur if (highQuality) { var mb = Toggle(_Loader.enableBlur, "Motion blur"); if (mb != _Loader.enableBlur) { _Loader.enableBlur = mb; StartCoroutine(SetQuality(quality)); } } #endif if (UltraQuality) { bool bloom = Toggle(_Loader.enableBloom, "Enable Bloom"); if (bloom != _Loader.enableBloom) { _Loader.enableBloom = bloom; StartCoroutine(SetQuality(quality)); } } }
//private Material oldSky; public IEnumerator SetQuality(Quality2 q) { Debug.LogWarning("SetQuality:" + q); //return; //if (!webPlayer && q == Quality.Ultra) //{ // if (_Loader.quality == Quality.High) return; // q = Quality.High; //} _Loader.quality = q; //if (Application.platform == RuntimePlatform.Android && _Game == null) // q = Quality.Low; if (!drawDistanceSet) { if (android) { _Loader.drawDistance = q == Quality2.Lowest ? 150 : q <= Quality2.Low ? 200 : q == Quality2.Medium ? 300 : 500; } else { _Loader.drawDistance = q == Quality2.Lowest ? 200 : q == Quality2.Low ? 1200 : 10000; } } if (q < Quality2.Lowest) { q = Quality2.Lowest; } if (q > Quality2.Ultra) { q = Quality2.Ultra; } if (!android) { var qlevel = q >= Quality2.Medium ? 5 : q >= Quality2.Low && !android ? 3 : 0; if (QualitySettings.GetQualityLevel() != qlevel) { QualitySettings.SetQualityLevel(qlevel, !autoQuality); } } RenderSettings.fog = q > Quality2.Low; fixedDeltaTime = Time.fixedDeltaTime = q < Quality2.Low ? 0.01f : 0.005f; Shader.globalMaximumLOD = q > Quality2.Low ? 600 : 100; //if (android) //{ // QualitySettings.vSyncCount = 0; // Application.targetFrameRate = -1; //} //if (autoQuality) _Loader.shadows = q >= Quality2.High && !(flash && splitScreen); UpdateShadows(); //if (game) //{ var findGameObjectWithTag = GameObject.FindGameObjectWithTag("RearCamera"); if (findGameObjectWithTag != null) { findGameObjectWithTag.camera.enabled = q > Quality2.Low && _Loader.rearCamera; } foreach (Camera a in Camera.allCameras) { if (a.tag == Tag.mainCamera || a.tag == Tag.rearCamera) //if (a.name != "Hud") { //print(a.clearFlags); if (q < Quality2.Low) { RenderSettings.skybox = null; } a.renderingPath = q <= Quality2.Low ? RenderingPath.VertexLit : RenderingPath.DeferredLighting; print(a.renderingPath); //if (setting.hideCull || q == Quality2.Lowest && android) // a.cullingMask &= ~(1 << Layer.cull); //else // a.cullingMask |= 1 << Layer.cull; if (android && lowQuality) { a.cullingMask &= ~(1 << Layer.stadium); } else { a.cullingMask |= 1 << Layer.stadium; } if (android && lowQuality) { a.cullingMask &= ~(1 << Layer.water); } else { a.cullingMask |= 1 << Layer.water; } a.backgroundColor = RenderSettings.fogColor; a.farClipPlane = lowQuality && android ? 1000 : 10000; a.hdr = _Loader.enableBloom; //if (_Loader.levelEditor == null) a.nearClipPlane = android ? .3f : .1f; } } //} if (_MapLoader != null && _MapLoader.terrain != null) { _MapLoader.terrain.gameObject.SetActive(!lowQuality || _Loader.dm); //_MapLoader.terrain.collider.enabled = _MapLoader.terrain.enabled = (!lowQuality || _Loader.dm); if (android) { _MapLoader.terrain.heightmapMaximumLOD = 1; } _MapLoader.terrain.editorRenderFlags = highOrNotAndroid ? TerrainRenderFlags.all : TerrainRenderFlags.heightmap | TerrainRenderFlags.details; } foreach (AudioReverbFilter a in FindObjectsOfType(typeof(AudioReverbFilter))) { a.enabled = medium; } foreach (MonoBehaviour a in FindObjectsOfType(typeof(PostEffectsBase))) { EnablePostEffect(a); } foreach (MonoBehaviour a in FindObjectsOfType(typeof(SSAOEffect))) { EnablePostEffect(a); } #if blur foreach (MonoBehaviour a in FindObjectsOfType(typeof(AmplifyMotionEffect))) { a.enabled = _Loader.enableBlur && highQuality; } #endif foreach (SunShafts efect in FindObjectsOfType(typeof(SunShafts))) { foreach (Light lt in FindObjectsOfType(typeof(Light)).Cast <Light>().Where(b => b.type == LightType.Directional)) { if (lt.flare != null) { lt.enabled = !UltraQuality; } else { efect.sunTransform = lt.transform; } } } if (_Loader.levelEditor == null && _Game != null) { UpdateMaterials(); } //if (android && _Game != null) //{ // if (_Player != null) // _Player.hud.gameObject.SetActive(quality > Quality2.Medium); // if (_Player2 != null) // _Player2.hud.gameObject.SetActive(quality > Quality2.Medium); //} UpdateCull(); if (!flash) { Application.targetFrameRate = -1; int vSyncCount = setting.fps10 ? 0 : isDebug || !lowQuality ? 1 : 0; QualitySettings.vSyncCount = vSyncCount; print("Set Vsync " + vSyncCount); } yield return(null); }
//private Material oldSky; public IEnumerator SetQuality(Quality2 q) { Debug.LogWarning("SetQuality:" + q); //return; //if (!webPlayer && q == Quality.Ultra) //{ // if (_Loader.quality == Quality.High) return; // q = Quality.High; //} _Loader.quality = q; //if (Application.platform == RuntimePlatform.Android && _Game == null) // q = Quality.Low; if (!drawDistanceSet) { if (android) _Loader.drawDistance = q == Quality2.Lowest ? 150 : q <= Quality2.Low ? 200 : q == Quality2.Medium ? 300 : 500; else _Loader.drawDistance = q == Quality2.Lowest ? 200 : q == Quality2.Low ? 1200 : 10000; } if (q < Quality2.Lowest) q = Quality2.Lowest; if (q > Quality2.Ultra) q = Quality2.Ultra; if (!android) { var qlevel = q >= Quality2.Medium ? 5 : q >= Quality2.Low && !android ? 3 : 0; if (QualitySettings.GetQualityLevel() != qlevel) QualitySettings.SetQualityLevel(qlevel, !autoQuality); } RenderSettings.fog = q > Quality2.Low; fixedDeltaTime = Time.fixedDeltaTime = q < Quality2.Low ? 0.01f : 0.005f; Shader.globalMaximumLOD = q > Quality2.Low ? 600 : 100; //if (android) //{ // QualitySettings.vSyncCount = 0; // Application.targetFrameRate = -1; //} //if (autoQuality) _Loader.shadows = q >= Quality2.High && !(flash && splitScreen); UpdateShadows(); //if (game) //{ var findGameObjectWithTag = GameObject.FindGameObjectWithTag("RearCamera"); if (findGameObjectWithTag != null) findGameObjectWithTag.camera.enabled = q > Quality2.Low && _Loader.rearCamera; foreach (Camera a in Camera.allCameras) if (a.tag == Tag.mainCamera || a.tag == Tag.rearCamera) //if (a.name != "Hud") { //print(a.clearFlags); if (q < Quality2.Low) RenderSettings.skybox = null; a.renderingPath = q <= Quality2.Low ? RenderingPath.VertexLit : RenderingPath.DeferredLighting; print(a.renderingPath); //if (setting.hideCull || q == Quality2.Lowest && android) // a.cullingMask &= ~(1 << Layer.cull); //else // a.cullingMask |= 1 << Layer.cull; if (android && lowQuality) a.cullingMask &= ~(1 << Layer.stadium); else a.cullingMask |= 1 << Layer.stadium; if (android && lowQuality) a.cullingMask &= ~(1 << Layer.water); else a.cullingMask |= 1 << Layer.water; a.backgroundColor = RenderSettings.fogColor; a.farClipPlane = lowQuality && android ? 1000 : 10000; a.hdr = _Loader.enableBloom; //if (_Loader.levelEditor == null) a.nearClipPlane = android ? .3f : .1f; } //} if (_MapLoader != null && _MapLoader.terrain != null) { _MapLoader.terrain.gameObject.SetActive(!lowQuality || _Loader.dm); //_MapLoader.terrain.collider.enabled = _MapLoader.terrain.enabled = (!lowQuality || _Loader.dm); if (android) _MapLoader.terrain.heightmapMaximumLOD = 1; _MapLoader.terrain.editorRenderFlags = highOrNotAndroid ? TerrainRenderFlags.all : TerrainRenderFlags.heightmap | TerrainRenderFlags.details; } foreach (AudioReverbFilter a in FindObjectsOfType(typeof(AudioReverbFilter))) a.enabled = medium; foreach (MonoBehaviour a in FindObjectsOfType(typeof(PostEffectsBase))) EnablePostEffect(a); foreach (MonoBehaviour a in FindObjectsOfType(typeof(SSAOEffect))) EnablePostEffect(a); #if blur foreach (MonoBehaviour a in FindObjectsOfType(typeof (AmplifyMotionEffect))) a.enabled = _Loader.enableBlur && highQuality; #endif foreach (SunShafts efect in FindObjectsOfType(typeof(SunShafts))) { foreach (Light lt in FindObjectsOfType(typeof(Light)).Cast<Light>().Where(b => b.type == LightType.Directional)) if (lt.flare != null) lt.enabled = !UltraQuality; else efect.sunTransform = lt.transform; } if (_Loader.levelEditor == null && _Game != null) UpdateMaterials(); //if (android && _Game != null) //{ // if (_Player != null) // _Player.hud.gameObject.SetActive(quality > Quality2.Medium); // if (_Player2 != null) // _Player2.hud.gameObject.SetActive(quality > Quality2.Medium); //} UpdateCull(); if (!flash) { Application.targetFrameRate = -1; int vSyncCount = setting.fps10 ? 0 : isDebug || !lowQuality ? 1 : 0; QualitySettings.vSyncCount = vSyncCount; print("Set Vsync " + vSyncCount); } yield return null; }
private void btnPlus2_Click(object sender, EventArgs e) { Quality2 += 1; btnMin2.Enabled = true; tbQuality2.Text = Quality2.ToString(); }