local SettingImpl_Default = {} local DeviceLODSetting = require "Modules/Setting/DeviceLODSetting" local LodLevelCustom, LodLevelHigh, LodLevelMid, LodLevelLow = -1, 2, 1, 0 function SettingImpl_Default.GetSettingValue(settingKeyEnum, settingLevel, deviceLevel) local isCustom = settingLevel == LodLevelCustom local settingValue if isCustom then if MDL.Setting.HasKey(settingKeyEnum) then settingValue = MDL.Setting.GetKeyValue(settingKeyEnum) else settingValue = DeviceLODSetting.QualitySetting[deviceLevel][settingKeyEnum] end else settingValue = DeviceLODSetting.QualitySetting[settingLevel][settingKeyEnum] end return settingValue end function SettingImpl_Default.ExecuteSetting(settingEnum, settingLevel, deviceLevel, forceValue) if forceValue then local func = DeviceLODSetting.SettingAPI[settingEnum] func(forceValue) return true else local settingValue = SettingImpl_Default.GetSettingValue(settingEnum, settingLevel, deviceLevel) local func = DeviceLODSetting.SettingAPI[settingEnum] func(settingValue) return true end return false end function SettingImpl_Default.ApplyPsPreset(self0, other0, self1, other1, self2, other2) AuxUtil.SetPresetLOD(self0, other0, self1, other1, self2, other2) end function SettingImpl_Default.ApplyPsCapacity(capNear, capMedium, capFar) AuxUtil.SetEffectCullingCapacity(capNear, capMedium, capFar) end function SettingImpl_Default.ApplyVisualCullingCapacity(cullingCount) AuxUtil.SetVisualCullingCapacity(cullingCount) end function SettingImpl_Default.ApplyVisualCullingDistance(visibleDistanceNear, visibleDistanceFar, visibleDistanceMax) AuxUtil.SetVisualCullingDistance(visibleDistanceNear, visibleDistanceFar, visibleDistanceMax) end return SettingImpl_Default