private void _toggle(ItemSlotPlain s) { if (s == ItemSlotPlain.Action || s == ItemSlotPlain.Unused) { if (!SelectedSlots.Contains(ItemSlotPlain.Action)) { SelectedSlots.Add(ItemSlotPlain.Action); SelectedSlots.Add(ItemSlotPlain.Unused); _fireSelectionChanged(ItemSlotPlain.Action, SelectorActionType.Add); _fireSelectionChanged(ItemSlotPlain.Unused, SelectorActionType.Add); } else { SelectedSlots.Remove(ItemSlotPlain.Action); SelectedSlots.Remove(ItemSlotPlain.Unused); _fireSelectionChanged(ItemSlotPlain.Action, SelectorActionType.Remove); _fireSelectionChanged(ItemSlotPlain.Unused, SelectorActionType.Remove); } } else { if (!SelectedSlots.Contains(s)) { SelectedSlots.Add(s); _fireSelectionChanged(s, SelectorActionType.Add); } else { SelectedSlots.Remove(s); _fireSelectionChanged(s, SelectorActionType.Remove); } } }
private void _fireSelectionChanged(ItemSlotPlain p, SelectorActionType t) { if (SelectionChanged != null) { SelectionChanged(this, new MultiSlotSelectorEventArgs(p, t)); } }