Example #1
0
        public void CopyFrom(TsMobileQualityManager.Quality src)
        {
            bool isActive = TsMobileQualityManager.QualityInitializer.IsActive;

            TsMobileQualityManager.QualityInitializer.IsActive = true;
            this.Version                = src.Version;
            this.Level                  = src.Level;
            this.Name                   = src.Name;
            this.m_ShadowType           = src.m_ShadowType;
            this.m_ShaderMaxLOD         = src.m_ShaderMaxLOD;
            this.m_EnableShadow         = src.m_EnableShadow;
            this.DepthOfField           = src.DepthOfField;
            this.TerrainPixelErrorScale = src.TerrainPixelErrorScale;
            this.m_Bloom                = TsMobileQualityManager.SavedProperty.Pass(TsMobileQualityManager.PropertyName.Bloom, src.m_Bloom);
            this.m_TextureQuality       = TsQualityManager.TextureQuality.FULL;
            TsMobileQualityManager.QualityInitializer.IsActive = isActive;
        }
Example #2
0
    private void ChangeExtraQuality(TsQualityManager.Level level, TsQualityManager.GameVersion version, Camera camera)
    {
        ITsGameQuality currQuality = TsQualityManager.Instance.CurrQuality;

        camera.farClipPlane = TsMobileQualityManager.mCameraFar[(int)level];
        float[] array = new float[]
        {
            20.1f,
            35f,
            50f,
            65f,
            80f
        };
        float[] array2 = new float[]
        {
            100f,
            125f,
            150f,
            200f,
            250f
        };
        float[] array3 = new float[]
        {
            150f,
            200f,
            250f,
            400f,
            400f
        };
        float num  = 20f;
        float num2 = 1f - num / 100f;

        if (version == TsQualityManager.GameVersion.LITE_VER)
        {
            for (int i = 0; i < array.Length; i++)
            {
                array[i] *= num2;
            }
            for (int j = 0; j < array2.Length; j++)
            {
                array2[j] *= num2;
            }
            for (int k = 0; k < array3.Length; k++)
            {
                array3[k] *= num2;
            }
        }
        float[] layerCullDistances = camera.layerCullDistances;
        layerCullDistances[TsLayer.SMALL_OBJECT]  = array[(int)level];
        layerCullDistances[TsLayer.MEDIUM_OBJECT] = array2[(int)level];
        layerCullDistances[TsLayer.LARGE_OBJECT]  = array3[(int)level];
        camera.layerCullDistances = layerCullDistances;
        MonoBehaviour monoBehaviour = camera.GetComponent("MobileBloom") as MonoBehaviour;

        if (monoBehaviour != null)
        {
            monoBehaviour.enabled = currQuality.Bloom;
        }
        monoBehaviour = (camera.GetComponent("TsMobileVignetting") as MonoBehaviour);
        if (monoBehaviour != null)
        {
            monoBehaviour.enabled = (level >= TsQualityManager.Level.HIGHEST);
        }
        int[] array4 = new int[]
        {
            200,
            300,
            300,
            400,
            400
        };
        Shader.globalMaximumLOD = array4[(int)level];
        TsLayerMask layerMask = TsLayer.NOTHING;

        switch (level)
        {
        case TsQualityManager.Level.LOWEST:
            layerMask = TsLayer.LARGE_OBJECT + TsLayer.MEDIUM_OBJECT + TsLayer.SMALL_OBJECT + TsLayer.EFFECT_LOW;
            break;

        case TsQualityManager.Level.LOW:
            layerMask = TsLayer.LARGE_OBJECT + TsLayer.MEDIUM_OBJECT + TsLayer.SMALL_OBJECT + TsLayer.EFFECT_LOW;
            break;

        case TsQualityManager.Level.MEDIUM:
            layerMask = TsLayer.LARGE_OBJECT + TsLayer.MEDIUM_OBJECT + TsLayer.SMALL_OBJECT + TsLayer.EFFECT_MIDDLE + TsLayer.EFFECT_LOW;
            break;

        case TsQualityManager.Level.HIGH:
            layerMask = TsLayer.LARGE_OBJECT + TsLayer.MEDIUM_OBJECT + TsLayer.SMALL_OBJECT + TsLayer.EFFECT_HIGH + TsLayer.EFFECT_MIDDLE + TsLayer.EFFECT_LOW;
            break;

        case TsQualityManager.Level.HIGHEST:
            layerMask = TsLayer.LARGE_OBJECT + TsLayer.MEDIUM_OBJECT + TsLayer.SMALL_OBJECT + TsLayer.EFFECT_HIGH + TsLayer.EFFECT_MIDDLE + TsLayer.EFFECT_LOW;
            break;
        }
        camera.cullingMask = layerMask + this.DEFAULT_RENDERABLE_LAYER;
    }