protected override void OnActivate() { base.OnActivate(); this.Call = this.Ensage.AbilityFactory.GetAbility <axe_berserkers_call>(); this.CullingBlade = this.Ensage.AbilityFactory.GetAbility <axe_culling_blade>(); this.BladeMail = this.Ensage.AbilityFactory.GetItem <item_blade_mail>(); this.Blink = this.Ensage.AbilityFactory.GetItem <item_blink>(); this.LotusOrb = this.Ensage.AbilityFactory.GetItem <item_lotus_orb>(); this.ForceStaff = this.Ensage.AbilityFactory.GetItem <item_force_staff>(); }
protected override void InventoryChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Add) { foreach (var newItem in e.NewItems.OfType <InventoryItem>()) { switch (newItem.Id) { case AbilityId.item_blade_mail: this.BladeMail = this.Ensage.AbilityFactory.GetAbility <item_blade_mail>(newItem.Item); break; case AbilityId.item_blink: this.Blink = this.Ensage.AbilityFactory.GetAbility <item_blink>(newItem.Item); break; case AbilityId.item_lotus_orb: this.LotusOrb = this.Ensage.AbilityFactory.GetAbility <item_lotus_orb>(newItem.Item); break; case AbilityId.item_force_staff: this.ForceStaff = this.Ensage.AbilityFactory.GetAbility <item_force_staff>(newItem.Item); break; } } } else if (e.Action == NotifyCollectionChangedAction.Remove) { foreach (var oldItem in e.OldItems.OfType <InventoryItem>()) { switch (oldItem.Id) { case AbilityId.item_blade_mail: this.BladeMail = null; break; case AbilityId.item_blink: this.Blink = null; break; case AbilityId.item_lotus_orb: this.LotusOrb = null; break; case AbilityId.item_force_staff: this.ForceStaff = null; break; } } } }