public override void Initialise()
        {
            _jewelModelSCDVM = new SelectionControlDVM <JewelModel, JewelModelDataViewModel>(
                () => DataObject().JewelModelId,
                val =>
            {
                DataObject().JewelModelId = DomainClassBase <JewelModel> .IdOrNullId(val);
                OnPropertyChanged(nameof(JewelModelSelected));
            });

            _weaponModelSCDVM = new SelectionControlDVM <WeaponModel, WeaponModelDataViewModel>(
                () => DataObject().WeaponModelId,
                val =>
            {
                DataObject().WeaponModelId = DomainClassBase <WeaponModel> .IdOrNullId(val);
                OnPropertyChanged(nameof(WeaponModelSelected));
            });

            _factorSliderDVM = new SliderDataViewModel <double>(
                new Scaler <double>(WeaponJewelMatch.LegalMatchFactors, (a, b) => a < b),
                WeaponJewelMatch.LegalMatchFactors.Count - 1,
                () => DataObject().Factor,
                val =>
            {
                DataObject().Factor = val;
                OnPropertyChanged(nameof(FactorIndex));
                OnPropertyChanged(nameof(Factor));
            });
        }
Exemple #2
0
        public override void Initialise()
        {
            _weaponModelSCDVM = new SelectionControlDVM <WeaponModel, WeaponModelDataViewModel>(
                () => DataObject().WeaponModelId,
                val =>
            {
                DataObject().WeaponModelId = DomainClassBase <WeaponModel> .IdOrNullId(val);
                OnPropertyChanged(nameof(WeaponModelSelected));
            });

            // Selection-control DVM for at kunne se/rette brugte Jewels
            _socketedJewelSCDVM = new SelectionControlDVM <Jewel, JewelDataViewModel>(
                () => SocketedJewelSelectedId,
                val => SocketedJewelSelectedId = val,
                j => j.WeaponId == DataObject().Id);

            // Selection-control DVM for at kunne se/rette frie Jewels
            _freeJewelSCDVM = new SelectionControlDVM <Jewel, JewelDataViewModel>(
                () => FreeJewelSelectedId,
                val => FreeJewelSelectedId = val,
                j => j.WeaponId == null);

            // Command-objekter til hhv. at droppe eller tilføje en Jewel
            _dropJewelCommand = new ReferenceChangeCommand <Jewel>(j => j.WeaponId = null);
            _addJewelCommand  = new AddJewelToWeaponCommand(j => j.WeaponId = DataObject().Id, DataObject(), this);

            SocketedJewelSelectedId = null;
            FreeJewelSelectedId     = null;

            // Da drop/tilføj vil medføre ændringer i Jewel-Cataloget, som udføres
            // fra Command-objekter, vil vi gerne notificeres om dette.
            DomainModel.GetCatalog <Jewel>().CatalogChanged += JewelCatalogChanged;
        }
Exemple #3
0
        public override void Initialise()
        {
            _characterSCDVM = new SelectionControlDVM <Character, CharacterDataViewModel>(
                () => DataObject().CharacterId,
                val =>
            {
                DataObject().CharacterId = DomainClassBase <Character> .IdOrNullId(val);
                OnPropertyChanged(nameof(CharacterSelected));
            });

            _leftWeaponSCDVM = new SelectionControlDVM <Weapon, WeaponDataViewModel>(
                () => DataObject().WeaponIdLeft,
                val =>
            {
                DataObject().WeaponIdLeft = val;
                OnPropertyChanged(nameof(LeftWeaponSelected));
            },
                w => w.CharacterId == DataObject().CharacterId);

            _rightWeaponSCDVM = new SelectionControlDVM <Weapon, WeaponDataViewModel>(
                () => DataObject().WeaponIdRight,
                val =>
            {
                DataObject().WeaponIdRight = val;
                OnPropertyChanged(nameof(RightWeaponSelected));
            },
                w => w.CharacterId == DataObject().CharacterId);

            _dropLeftWeaponCommand  = new DequipWeaponCommand(_leftWeaponSCDVM);
            _dropRightWeaponCommand = new DequipWeaponCommand(_rightWeaponSCDVM);
        }
        public override void Initialise()
        {
            _minDamageSliderDVM = new SliderDataViewModel <int>(
                new Scaler <int>(WeaponModel.LegalDamageValues, (a, b) => a < b),
                WeaponModel.LegalDamageValues.Count - 1,
                () => DataObject().MinDamage,
                val =>
            {
                DataObject().MinDamage = val;
                OnPropertyChanged(nameof(MinDamageIndex));
                OnPropertyChanged(nameof(MinDamage));
            },
                CheckRulesMinDamage);

            _maxDamageSliderDVM = new SliderDataViewModel <int>(
                new Scaler <int>(WeaponModel.LegalDamageValues, (a, b) => a < b),
                WeaponModel.LegalDamageValues.Count - 1,
                () => DataObject().MaxDamage,
                val =>
            {
                DataObject().MaxDamage = val;
                OnPropertyChanged(nameof(MaxDamageIndex));
                OnPropertyChanged(nameof(MaxDamage));
            },
                CheckRulesMaxDamage);

            _jewelSocketsSliderDVM = new IntSliderDataViewModel(
                WeaponModel.MaxNoOfJewelSockets,
                () => DataObject().JewelSockets,
                val =>
            {
                DataObject().JewelSockets = val;
                OnPropertyChanged(nameof(JewelSocketsIndex));
                OnPropertyChanged(nameof(JewelSockets));
            });

            _rarityTierSCDVM = new SelectionControlDVM <RarityTier, RarityTierDataViewModel>(
                () => DataObject().RarityTierId,
                val =>
            {
                DataObject().RarityTierId = DomainClassBase <RarityTier> .IdOrNullId(val);
                OnPropertyChanged(nameof(RaritySelected));
            });

            _weaponTypeSCDVM = new SelectionControlDVM <WeaponType, WeaponTypeDataViewModel>(
                () => DataObject().WeaponTypeId,
                val =>
            {
                DataObject().WeaponTypeId = DomainClassBase <WeaponType> .IdOrNullId(val);
                OnPropertyChanged(nameof(WeaponTypeSelected));
            });
        }
        public override void Initialise()
        {
            _rarityTierSCDVM = new SelectionControlDVM <RarityTier, RarityTierDataViewModel>(
                () => DataObject().RarityTierId,
                val =>
            {
                DataObject().RarityTierId = DomainClassBase <RarityTier> .IdOrNullId(val);
                OnPropertyChanged(nameof(RaritySelected));
            });

            _baseDamageSliderDVM = new IntSliderDataViewModel(
                JewelModel.MaxBaseDamage,
                BaseDamageScaleFactor,
                () => DataObject().BaseDamage,
                val =>
            {
                DataObject().BaseDamage = val;
                OnPropertyChanged(nameof(BaseDamageIndex));
                OnPropertyChanged(nameof(BaseDamage));
            });
        }
Exemple #6
0
        public override void Initialise()
        {
            _jewelModelSCDVM = new SelectionControlDVM <JewelModel, JewelModelDataViewModel>(
                () => DataObject().JewelModelId,
                val =>
            {
                DataObject().JewelModelId = DomainClassBase <Jewel> .IdOrNullId(val);
                DataObject().JewelModel   = DomainModel.GetCatalog <JewelModel>().Read(DataObject().JewelModelId);
                OnPropertyChanged(nameof(JewelModelSelected));
                OnPropertyChanged(nameof(DamageDesc));
            });

            _jewelCutQualitySCDVM = new SelectionControlDVM <JewelCutQuality, JewelCutQualityDataViewModel>(
                () => DataObject().CutQualityId,
                val =>
            {
                DataObject().CutQualityId = DomainClassBase <Jewel> .IdOrNullId(val);
                DataObject().CutQuality   = DomainModel.GetCatalog <JewelCutQuality>().Read(DataObject().CutQualityId);
                OnPropertyChanged(nameof(JewelCQSelected));
                OnPropertyChanged(nameof(DamageDesc));
            });
        }