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; }
public override void Initialise() { // Integer-slider DVM for at kunne se/rette Health Points _hpSliderDVM = new IntSliderDataViewModel( Character.MaxHealthPoints, HPScaleFactor, () => DataObject().HealthPoints, val => { DataObject().HealthPoints = val; OnPropertyChanged(nameof(HealthPointsIndex)); OnPropertyChanged(nameof(HealthPoints)); }); // Integer-slider DVM for at kunne se/rette Level _levelSliderDVM = new IntSliderDataViewModel( Character.MaxLevel, () => DataObject().Level, val => { DataObject().Level = val; OnPropertyChanged(nameof(LevelIndex)); OnPropertyChanged(nameof(Level)); }); // Selection-control DVM for at kunne se/rette ejede Weapon _ownedWeaponControlDVM = new SelectionControlDVM <Weapon, WeaponDataViewModel>( () => OwnedWeaponSelectedId, val => OwnedWeaponSelectedId = val, w => w.CharacterId == DataObject().Id); // Selection-control DVM for at kunne se/rette frie Weapon _freeWeaponControlDVM = new SelectionControlDVM <Weapon, WeaponDataViewModel>( () => FreeWeaponSelectedId, val => FreeWeaponSelectedId = val, w => w.CharacterId == null); // Command-objekter til hhv. at droppe eller tilføje et Weapon _dropWeaponCommand = new ReferenceChangeCommand <Weapon>(w => w.CharacterId = null); _addWeaponCommand = new ReferenceChangeCommand <Weapon>(w => w.CharacterId = DataObject().Id); OwnedWeaponSelectedId = null; FreeWeaponSelectedId = null; // Da drop/tilføj vil medføre ændringer i Weapon-Cataloget, som udføres // fra Command-objekter, vil vi gerne notificeres om dette. DomainModel.GetCatalog <Weapon>().CatalogChanged += WeaponCatalogChanged; }