private void SetActor(Actor actor) { this.MainHand?.Dispose(); this.OffHand?.Dispose(); this.eqMem?.Dispose(); if (actor == null) { return; } Task.Run(() => { // Weapon slots this.MainHand = new EquipmentWeaponViewModel(ItemSlots.MainHand, actor); this.OffHand = new EquipmentWeaponViewModel(ItemSlots.OffHand, actor); // Equipment slots this.eqMem = actor.GetMemory(Offsets.Main.ActorEquipment); this.Head = new EquipmentItemViewModel(this.eqMem, ItemSlots.Head, actor); this.Body = new EquipmentItemViewModel(this.eqMem, ItemSlots.Body, actor); this.Hands = new EquipmentItemViewModel(this.eqMem, ItemSlots.Hands, actor); this.Legs = new EquipmentItemViewModel(this.eqMem, ItemSlots.Legs, actor); this.Feet = new EquipmentItemViewModel(this.eqMem, ItemSlots.Feet, actor); this.Ears = new EquipmentItemViewModel(this.eqMem, ItemSlots.Ears, actor); this.Neck = new EquipmentItemViewModel(this.eqMem, ItemSlots.Neck, actor); this.Wrists = new EquipmentItemViewModel(this.eqMem, ItemSlots.Wrists, actor); this.LeftRing = new EquipmentItemViewModel(this.eqMem, ItemSlots.LeftRing, actor); this.RightRing = new EquipmentItemViewModel(this.eqMem, ItemSlots.RightRing, actor); }); }
private void OnLoaded(object sender, RoutedEventArgs e) { Actor actor = this.DataContext as Actor; if (actor == null) { return; } // Weapon slots this.MainHand = new EquipmentWeaponViewModel(ItemSlots.MainHand, actor); this.OffHand = new EquipmentWeaponViewModel(ItemSlots.OffHand, actor); // Equipment slots this.eqMem = actor.GetMemory(Offsets.Main.ActorEquipment); this.Head = new EquipmentItemViewModel(this.eqMem, ItemSlots.Head, actor); this.Body = new EquipmentItemViewModel(this.eqMem, ItemSlots.Body, actor); this.Hands = new EquipmentItemViewModel(this.eqMem, ItemSlots.Hands, actor); this.Legs = new EquipmentItemViewModel(this.eqMem, ItemSlots.Legs, actor); this.Feet = new EquipmentItemViewModel(this.eqMem, ItemSlots.Feet, actor); this.Ears = new EquipmentItemViewModel(this.eqMem, ItemSlots.Ears, actor); this.Neck = new EquipmentItemViewModel(this.eqMem, ItemSlots.Neck, actor); this.Wrists = new EquipmentItemViewModel(this.eqMem, ItemSlots.Wrists, actor); this.LeftRing = new EquipmentItemViewModel(this.eqMem, ItemSlots.LeftRing, actor); this.RightRing = new EquipmentItemViewModel(this.eqMem, ItemSlots.RightRing, actor); }
private void OnSelectionChanged(Selection selection) { App.Current.Dispatcher.Invoke(() => { this.IsEnabled = selection != null; }); this.eqMem?.Dispose(); this.MainHand?.Dispose(); this.OffHand?.Dispose(); this.eqMem?.Dispose(); this.Head?.Dispose(); this.Body?.Dispose(); this.Hands?.Dispose(); this.Legs?.Dispose(); this.Feet?.Dispose(); this.Ears?.Dispose(); this.Neck?.Dispose(); this.Wrists?.Dispose(); this.LeftRing?.Dispose(); this.RightRing?.Dispose(); if (selection == null) { return; } // Weapon slots this.MainHand = new EquipmentWeaponViewModel(ItemSlots.MainHand, selection); this.OffHand = new EquipmentWeaponViewModel(ItemSlots.OffHand, selection); // Equipment slots this.eqMem = selection.BaseAddress.GetMemory(Offsets.ActorEquipment); this.Head = new EquipmentItemViewModel(this.eqMem, ItemSlots.Head, selection); this.Body = new EquipmentItemViewModel(this.eqMem, ItemSlots.Body, selection); this.Hands = new EquipmentItemViewModel(this.eqMem, ItemSlots.Hands, selection); this.Legs = new EquipmentItemViewModel(this.eqMem, ItemSlots.Legs, selection); this.Feet = new EquipmentItemViewModel(this.eqMem, ItemSlots.Feet, selection); this.Ears = new EquipmentItemViewModel(this.eqMem, ItemSlots.Ears, selection); this.Neck = new EquipmentItemViewModel(this.eqMem, ItemSlots.Neck, selection); this.Wrists = new EquipmentItemViewModel(this.eqMem, ItemSlots.Wrists, selection); this.LeftRing = new EquipmentItemViewModel(this.eqMem, ItemSlots.LeftRing, selection); this.RightRing = new EquipmentItemViewModel(this.eqMem, ItemSlots.RightRing, selection); Application.Current.Dispatcher.Invoke(() => { this.ContentArea.DataContext = null; this.ContentArea.DataContext = this; }); }