public static void SetConfig(ManagedOptions.ManagedOptionsType type, float value) { switch (type) { case ManagedOptions.ManagedOptionsType.Language: List <string> languageIds = LocalizedTextManager.GetLanguageIds(NativeConfig.IsDevelopmentMode); BannerlordConfig.Language = (double)value < 0.0 || (double)value >= (double)languageIds.Count ? languageIds[0] : languageIds[(int)value]; break; case ManagedOptions.ManagedOptionsType.ControlBlockDirection: BannerlordConfig.DefendDirectionControl = (int)value; break; case ManagedOptions.ManagedOptionsType.ControlAttackDirection: BannerlordConfig.AttackDirectionControl = (int)value; break; case ManagedOptions.ManagedOptionsType.NumberOfCorpses: BannerlordConfig.NumberOfCorpses = (int)value; break; case ManagedOptions.ManagedOptionsType.BattleSize: BannerlordConfig.BattleSize = (int)value; break; case ManagedOptions.ManagedOptionsType.TurnCameraWithHorseInFirstPerson: BannerlordConfig.TurnCameraWithHorseInFirstPerson = (int)value; break; case ManagedOptions.ManagedOptionsType.ShowBlood: BannerlordConfig.ShowBlood = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.ShowAttackDirection: BannerlordConfig.DisplayAttackDirection = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.ShowTargetingReticle: BannerlordConfig.DisplayTargetingReticule = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.FriendlyTroopsBannerOpacity: BannerlordConfig.FriendlyTroopsBannerOpacity = value; break; case ManagedOptions.ManagedOptionsType.ReportDamage: BannerlordConfig.ReportDamage = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.ReportCasualtiesType: BannerlordConfig.ReportCasualtiesType = (int)value; break; case ManagedOptions.ManagedOptionsType.ReportExperience: BannerlordConfig.ReportExperience = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.ReportPersonalDamage: BannerlordConfig.ReportPersonalDamage = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.FirstPersonFov: BannerlordConfig.FirstPersonFov = value; break; case ManagedOptions.ManagedOptionsType.CombatCameraDistance: BannerlordConfig.CombatCameraDistance = value; break; case ManagedOptions.ManagedOptionsType.EnableDamageTakenVisuals: BannerlordConfig.EnableDamageTakenVisuals = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.EnableDeathIcon: BannerlordConfig.EnableDeathIcon = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.EnableNetworkAlertIcons: BannerlordConfig.EnableNetworkAlertIcons = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.ForceVSyncInMenus: BannerlordConfig.ForceVSyncInMenus = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.EnableVerticalAimCorrection: BannerlordConfig.EnableVerticalAimCorrection = (double)value != 0.0; break; case ManagedOptions.ManagedOptionsType.UIScale: BannerlordConfig.UIScale = value; break; case ManagedOptions.ManagedOptionsType.CrosshairType: BannerlordConfig.CrosshairType = (int)value; break; case ManagedOptions.ManagedOptionsType.OrderType: BannerlordConfig.OrderType = (int)value; break; case ManagedOptions.ManagedOptionsType.AutoTrackAttackedSettlements: BannerlordConfig.AutoTrackAttackedSettlements = (int)value; break; } if (ManagedOptions.OnManagedOptionChanged == null) { return; } ManagedOptions.OnManagedOptionChanged(type); }
internal static float GetConfigValue(int type) => ManagedOptions.GetConfig((ManagedOptions.ManagedOptionsType)type);