public void ChangeSelect(PlayerSelectCommand command) { if (_items.Count < 2) { return; } InventoryData item = null; if (command.down) { item = _items .Values .Where(e => e.ID > _selectedItem.ID) .FirstOrDefault(); } else if (command.up) { item = _items .Values .Where(e => e.ID < _selectedItem.ID) .LastOrDefault(); } if (item != null) { _selectedItem.IsSelected = false; item.IsSelected = true; _selectedItem = item; _changeItem.Invoke(new InventoryEventArgs(_selectedItem.Type)); } }
public void Add(InventoryType type, int count) { if (_items.ContainsKey(type)) { _items[type].Count += count; } else { var data = new InventoryData(type, count); _items.Add(type, data); UpdateSelected(); } _changeItem.Invoke(new InventoryEventArgs(type)); }
private void UpdateSelected() { if (_items.Count == 0) { _selectedItem = null; return; } if (_selectedItem == null || _selectedItem.Count == 0) { _selectedItem = _items.First().Value; _selectedItem.IsSelected = true; _changeItem.Invoke(new InventoryEventArgs(_selectedItem.Type)); return; } }