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); }
public static float GetConfig(ManagedOptions.ManagedOptionsType type) { switch (type) { case ManagedOptions.ManagedOptionsType.Language: return((float)LocalizedTextManager.GetLanguageIds(NativeConfig.IsDevelopmentMode).IndexOf(BannerlordConfig.Language)); case ManagedOptions.ManagedOptionsType.ControlBlockDirection: return((float)BannerlordConfig.DefendDirectionControl); case ManagedOptions.ManagedOptionsType.ControlAttackDirection: return((float)BannerlordConfig.AttackDirectionControl); case ManagedOptions.ManagedOptionsType.NumberOfCorpses: return((float)BannerlordConfig.NumberOfCorpses); case ManagedOptions.ManagedOptionsType.BattleSize: return((float)BannerlordConfig.BattleSize); case ManagedOptions.ManagedOptionsType.TurnCameraWithHorseInFirstPerson: return((float)BannerlordConfig.TurnCameraWithHorseInFirstPerson); case ManagedOptions.ManagedOptionsType.ShowBlood: return(BannerlordConfig.ShowBlood ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.ShowAttackDirection: return(BannerlordConfig.DisplayAttackDirection ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.ShowTargetingReticle: return(BannerlordConfig.DisplayTargetingReticule ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.FriendlyTroopsBannerOpacity: return(BannerlordConfig.FriendlyTroopsBannerOpacity); case ManagedOptions.ManagedOptionsType.ReportDamage: return(BannerlordConfig.ReportDamage ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.ReportCasualtiesType: return((float)BannerlordConfig.ReportCasualtiesType); case ManagedOptions.ManagedOptionsType.ReportExperience: return(BannerlordConfig.ReportExperience ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.ReportPersonalDamage: return(BannerlordConfig.ReportPersonalDamage ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.FirstPersonFov: return(BannerlordConfig.FirstPersonFov); case ManagedOptions.ManagedOptionsType.CombatCameraDistance: return(BannerlordConfig.CombatCameraDistance); case ManagedOptions.ManagedOptionsType.EnableDamageTakenVisuals: return(BannerlordConfig.EnableDamageTakenVisuals ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.EnableDeathIcon: return(BannerlordConfig.EnableDeathIcon ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.EnableNetworkAlertIcons: return(BannerlordConfig.EnableNetworkAlertIcons ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.ForceVSyncInMenus: return(BannerlordConfig.ForceVSyncInMenus ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.EnableVerticalAimCorrection: return(BannerlordConfig.EnableVerticalAimCorrection ? 1f : 0.0f); case ManagedOptions.ManagedOptionsType.UIScale: return(BannerlordConfig.UIScale); case ManagedOptions.ManagedOptionsType.CrosshairType: return((float)BannerlordConfig.CrosshairType); case ManagedOptions.ManagedOptionsType.OrderType: return((float)BannerlordConfig.OrderType); case ManagedOptions.ManagedOptionsType.AutoTrackAttackedSettlements: return((float)BannerlordConfig.AutoTrackAttackedSettlements); default: return(0.0f); } }