private void UpdateDecorationOverrideConfiguration()
        {
            InParametersConfigurationV2 config = GlobalData.Instance.Configuration.InParameters;

            if (decorationsOverrideViewModel.HasChanged)
            {
                Dictionary <string, DecorationOverrideConfigurationItem> items = config.DecorationOverride.Items;

                items.Clear();

                foreach (JewelOverrideViewModel vm in decorationsOverrideViewModel.Jewels.Where(x => x.IsOverriding || x.Count > 0))
                {
                    items.Add(Core.Localization.GetDefault(vm.Name), new DecorationOverrideConfigurationItem
                    {
                        IsOverriding = vm.IsOverriding,
                        Count        = vm.Count
                    });
                }

                ConfigurationManager.Save(GlobalData.Instance.Configuration);

                rootViewModel.CreateSolverData();

                HasDecorationOverrideChanged = true;
            }
        }
        private void GenderChanged()
        {
            if (isLoadingConfiguration)
            {
                return;
            }

            InParametersConfigurationV2 config = GlobalData.Instance.Configuration.InParameters;

            config.Gender = (int)Gender;
            ConfigurationManager.Save(GlobalData.Instance.Configuration);

            root.CreateSolverData();
        }
        private void RarityChanged()
        {
            if (isLoadingConfiguration)
            {
                return;
            }

            InParametersConfigurationV2 config = GlobalData.Instance.Configuration.InParameters;

            config.Rarity = Rarity;
            ConfigurationManager.Save(GlobalData.Instance.Configuration);

            root.CreateSolverData();
        }
        private void UseEquipmentOverrideChanged()
        {
            if (isLoadingConfiguration)
            {
                return;
            }

            InParametersConfigurationV2 config = GlobalData.Instance.Configuration.InParameters;

            config.EquipmentOverride.UseOverride = UseEquipmentOverride;
            ConfigurationManager.Save(GlobalData.Instance.Configuration);

            root.CreateSolverData();
        }
        private void WeaponSlotsChanged(int value)
        {
            if (isLoadingConfiguration)
            {
                return;
            }

            root.WeaponsContainer.UpdateHighlights();

            InParametersConfigurationV2 config = GlobalData.Instance.Configuration.InParameters;

            config.WeaponSlots = Slots.Select(x => x.Value).ToArray();
            ConfigurationManager.Save(GlobalData.Instance.Configuration);

            root.WeaponSlotsChanged();
        }
        internal void NotifyConfigurationLoaded()
        {
            isLoadingConfiguration = true;

            try
            {
                InParametersConfigurationV2 config = GlobalData.Instance.Configuration.InParameters;

                if (config.WeaponSlots != null)
                {
                    for (int i = 0; i < Slots.Length && i < config.WeaponSlots.Length; i++)
                    {
                        Slots[i].Value = config.WeaponSlots[i];
                    }
                }

                UseDecorationsOverride = config.DecorationOverride.UseOverride;
                UseEquipmentOverride   = config.EquipmentOverride.UseOverride;

                if (config.Rarity <= 0)
                {
                    Rarity = 9; // initial rarity, maximum one
                }
                else
                {
                    Rarity = config.Rarity;
                }

                int genderMin = (int)Core.DataStructures.Gender.Male;
                int genderMax = (int)Core.DataStructures.Gender.Both;

                if (config.Gender < genderMin || config.Gender > genderMax)
                {
                    Gender = Core.DataStructures.Gender.Both;
                }
                else
                {
                    Gender = (Core.DataStructures.Gender)config.Gender;
                }
            }
            finally
            {
                isLoadingConfiguration = false;
            }
        }
示例#7
0
        private void CopyInParameters(InParametersConfigurationV2 source, InParametersConfigurationV2 target)
        {
            target.DecorationOverride.Items.Clear();
            foreach (KeyValuePair <string, DecorationOverrideConfigurationItem> x in source.DecorationOverride.Items)
            {
                target.DecorationOverride.Items[x.Key] = x.Value;
            }
            target.DecorationOverride.UseOverride = source.DecorationOverride.UseOverride;

            target.EquipmentOverride.Items.Clear();
            foreach (string x in source.EquipmentOverride.Items)
            {
                target.EquipmentOverride.Items.Add(x);
            }
            target.EquipmentOverride.IsStoringPossessed = source.EquipmentOverride.IsStoringPossessed;
            target.EquipmentOverride.UseOverride        = source.EquipmentOverride.UseOverride;

            target.Gender = source.Gender;

            target.Rarity = source.Rarity;

            target.WeaponSlots = source.WeaponSlots;
        }