Ejemplo n.º 1
0
        private void UpdateTextureFiltering(EVideoSettingId id)
        {
            // 纹理过滤
            switch (GetIntValueByEnum(id))
            {
            case 0:        //关
            {
                QualitySettings.anisotropicFiltering = AnisotropicFiltering.Disable;
            }
            break;

            case 1:        //PerTex
            {
                QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable;
            }
            break;

            case 2:        //Force
            {
                QualitySettings.anisotropicFiltering = AnisotropicFiltering.ForceEnable;
            }
            break;
            }
            _logger.InfoFormat("QualitySettings.anisotropicFiltering = " + QualitySettings.anisotropicFiltering);
        }
Ejemplo n.º 2
0
 public static float?GetVideoSourceValue(EVideoSettingId id)
 {
     if (valueDic.ContainsKey(id))
     {
         return(valueDic[id]);
     }
     return(null);
 }
Ejemplo n.º 3
0
        private void UpdateShaderDetail(EVideoSettingId id)
        {
            var callback = VideoSettingRegister.GetCallbackByid(id);
            var val      = GetFloatValueByEnum(id);

            if (callback != null)
            {
                callback.Invoke(val);
                _logger.InfoFormat("UpdateGQS_LightDetail_Camera :" + id + " =" + (int)val);
            }
        }
Ejemplo n.º 4
0
        public static string GetVideoValue(EVideoSettingId id)
        {
            Func <string> getter = null;

            if (GetHandlerDic.TryGetValue(id, out getter))
            {
                return(getter());
            }

            return(null);
        }
Ejemplo n.º 5
0
        private void UpdateAntiAliasing(EVideoSettingId id)
        {
            var callback = VideoSettingRegister.GetCallbackByid(id);
            var val      = GetFloatValueByEnum(id);

            if (callback != null)
            {
                callback.Invoke(val);

                _logger.InfoFormat("UpdateAntiAliasing :" + id + " =" + (int)val);
            }
        }
Ejemplo n.º 6
0
        private void UpdateSkeletalSkin(EVideoSettingId id)
        {
            //骨骼蒙皮
            int blendWeights = GetIntValueByEnum(id);

            if (blendWeights == 2)
            {
                QualitySettings.blendWeights = BlendWeights.TwoBones;
            }
            else if (blendWeights == 4)
            {
                QualitySettings.blendWeights = BlendWeights.FourBones;
            }
            _logger.InfoFormat("QualitySettings.blendWeights = " + QualitySettings.blendWeights);
        }
Ejemplo n.º 7
0
        private void UpdateTextureSize(EVideoSettingId id)
        {
            // 贴图纹理大小
            int textureLimit = GetIntValueByEnum(id);

            if (textureLimit == 0)  //一半
            {
                QualitySettings.masterTextureLimit = 1;
            }
            else if (textureLimit == 1)  //完整
            {
                QualitySettings.masterTextureLimit = 0;
            }
            _logger.InfoFormat("QualitySettings.masterTextureLimit = " + QualitySettings.masterTextureLimit);
        }
Ejemplo n.º 8
0
        public static void ApplyVideoEffect(EVideoSettingId EVideoSettingId, float value)
        {
            HashSet <Action <float> > setters = null;

            valueDic[EVideoSettingId] = value;
            if (SetHandlerDic.TryGetValue(EVideoSettingId, out setters))
            {
                if (setters.Count == 0)
                {
                    return;
                }

                foreach (var callback in setters)
                {
                    callback(value);
                }
            }
        }
Ejemplo n.º 9
0
        public void RegisterVideoSettingCallback(EVideoSettingId id, Action <float> setter, Func <string> getter)
        {
            List <Action <float> > list = null;

            if (cacheSetters.TryGetValue(id, out list))
            {
            }
            else
            {
                list             = new List <Action <float> >();
                cacheSetters[id] = list;
            }
            list.Add(setter);

            cacheGetters[id] = getter;

            GameQualitySettingManager.RegSettingChangeCallback(id, setter, getter);
        }
Ejemplo n.º 10
0
        public static void UnRegSettingChangeCallback(EVideoSettingId settingId, Action <float> setter, Func <string> getter)
        {
            if (setter != null)
            {
                HashSet <Action <float> > setters = null;
                if (SetHandlerDic.TryGetValue(settingId, out setters))
                {
                    setters.Remove(setter);
                }
            }


            if (getter != null)
            {
                //Func<float> temp = null ;
                //GetHandlerDic.TryGetValue(settingId, out temp);
                GetHandlerDic[settingId] = null;
            }
        }
Ejemplo n.º 11
0
        private void UpdateShadowQuality(EVideoSettingId id)
        {
            // 阴影质量
            switch (GetIntValueByEnum(id))
            {
            case 0:       //关闭阴影
            {
                QualitySettings.shadows = ShadowQuality.Disable;
            }
            break;

            case 1:       //low
            {
                QualitySettings.shadows          = ShadowQuality.HardOnly;
                QualitySettings.shadowResolution = ShadowResolution.Low;
            }
            break;

            case 2:       //medium
            {
                QualitySettings.shadows          = ShadowQuality.HardOnly;
                QualitySettings.shadowResolution = ShadowResolution.Medium;
            }
            break;

            case 3:       //high
            {
                QualitySettings.shadows          = ShadowQuality.HardOnly;
                QualitySettings.shadowResolution = ShadowResolution.High;
            }
            break;

            case 4:       //very high
            {
                QualitySettings.shadows          = ShadowQuality.HardOnly;
                QualitySettings.shadowResolution = ShadowResolution.VeryHigh;
            }
            break;
            }
            _logger.InfoFormat("QualitySettings.shadows = " + QualitySettings.shadows);
            _logger.InfoFormat("QualitySettings.shadowResolution = " + QualitySettings.shadowResolution);
        }
Ejemplo n.º 12
0
        public static void RegSettingChangeCallback(EVideoSettingId typeId, Action <float> setter, Func <string> getter)
        {
            if (setter != null)
            {
                HashSet <Action <float> > list = null;
                if (!SetHandlerDic.ContainsKey(typeId))
                {
                    SetHandlerDic[typeId] = new HashSet <Action <float> >();
                    SetHandlerDic[typeId].Add(setter);
                }
                else
                {
                    list = SetHandlerDic[typeId];
                    list.Add(setter);
                }
            }

            if (getter != null)
            {
                GetHandlerDic[typeId] = getter;
            }
        }
Ejemplo n.º 13
0
 private void UpdateSoftParticle(EVideoSettingId id)
 {
     QualitySettings.softParticles = GetBoolValueByEnum(id);
     _logger.InfoFormat("QualitySettings.softParticles = " + QualitySettings.softParticles);
 }
Ejemplo n.º 14
0
 private void UpdateShadowLevel(EVideoSettingId id)
 {
     //阴影分级
     QualitySettings.shadowCascades = GetIntValueByEnum(id);
     _logger.InfoFormat("QualitySettings.shadowCascades = " + QualitySettings.shadowCascades);
 }
Ejemplo n.º 15
0
 private void UpdateShadowDistance(EVideoSettingId id)
 {
     //阴影距离
     QualitySettings.shadowDistance = GetIntValueByEnum(id);
     _logger.InfoFormat("QualitySettings.shadowDistance = " + QualitySettings.shadowDistance);
 }
Ejemplo n.º 16
0
 private bool GetBoolValueByEnum(EVideoSettingId id)
 {
     return(GetIntValueByEnum(id) != 0);
 }
Ejemplo n.º 17
0
 private void UpdateFog(EVideoSettingId id)
 {
     //雾效
     RenderSettings.fog = GetBoolValueByEnum(id);
     _logger.InfoFormat("RenderSettings.fog = " + RenderSettings.fog);
 }
Ejemplo n.º 18
0
 private int GetIntValueByEnum(EVideoSettingId id)
 {
     return((int)GetFloatValueByEnum(id));
 }
Ejemplo n.º 19
0
 private float GetFloatValueByEnum(EVideoSettingId id)
 {
     return(qualityValueList[(int)id]);
 }
Ejemplo n.º 20
0
 private void UpdateVerticalSynchronization(EVideoSettingId id)
 {
     QualitySettings.vSyncCount = GetIntValueByEnum(id);
     _logger.InfoFormat("QualitySettings.vSyncCount = " + QualitySettings.vSyncCount);
 }
Ejemplo n.º 21
0
 private void UpdateMaxLodLevel(EVideoSettingId id)
 {
     //LOD最大等级
     QualitySettings.maximumLODLevel = GetIntValueByEnum(id);
     _logger.InfoFormat("QualitySettings.maximumLODLevel = " + QualitySettings.maximumLODLevel);
 }
Ejemplo n.º 22
0
 private void UpdateReflectiveProbe(EVideoSettingId id)
 {
     QualitySettings.realtimeReflectionProbes = GetBoolValueByEnum(id);
     _logger.InfoFormat("QualitySettings.realtimeReflectionProbes = " + QualitySettings.realtimeReflectionProbes);
 }
Ejemplo n.º 23
0
 private void UpdatePixelLightSource(EVideoSettingId id)
 {
     QualitySettings.pixelLightCount = GetIntValueByEnum(id);
     _logger.InfoFormat("QualitySettings.pixelLightCount = " + QualitySettings.pixelLightCount);
 }
Ejemplo n.º 24
0
 private void UpdateLodDistanceParameter(EVideoSettingId id)
 {
     //LOD距离参数
     QualitySettings.lodBias = GetFloatValueByEnum(id);
     _logger.InfoFormat("QualitySettings.lodBias = " + QualitySettings.lodBias);
 }
Ejemplo n.º 25
0
 public void UseVideoSettingCallbacCallback(EVideoSettingId id, float value)
 {
     GameQualitySettingManager.ApplyVideoEffect(id, value);
 }
Ejemplo n.º 26
0
 private void UpdateOpposite(EVideoSettingId id)
 {
     QualitySettings.billboardsFaceCameraPosition = GetBoolValueByEnum(id);
     _logger.InfoFormat("QualitySettings.billboardsFaceCameraPosition = " + QualitySettings.billboardsFaceCameraPosition);
 }
Ejemplo n.º 27
0
 public void SaveSingleLocalVideoSetting(EVideoSettingId id, float value)
 {
     _localCache[(int)id] = value;
 }
Ejemplo n.º 28
0
 private void UpdateParticleCollisionAccuracy(EVideoSettingId id)
 {
     QualitySettings.particleRaycastBudget = GetIntValueByEnum(id);
     _logger.InfoFormat("QualitySettings.particleRaycastBudget = " + QualitySettings.particleRaycastBudget);
 }