コード例 #1
0
        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);
        }
コード例 #2
0
 internal static float GetConfigValue(int type) => ManagedOptions.GetConfig((ManagedOptions.ManagedOptionsType)type);