private Task <bool> preloadImages() { var tcs = new TaskCompletionSource <bool>(); Task.Run(() => { #if !HIDE_MAP_SCREENS LevelImagePanel.preload(); MapScreen.preload(); //This takes a while #endif InventoryScreen.preload(); SelectionWindow.preload(); ItemControl.preload(); tcs.SetResult(true); }); return(tcs.Task); }
private void updateGridItemsUI(IEnumerable <Item>?items) { itemsGrid.RowDefinitions.Clear(); itemsGrid.Children.Clear(); if (_model == null || items == null) { inventoryCountLabel.Content = string.Empty; return; } int itemCount = 0; foreach (var item in items !) { var itemControl = new ItemControl(); itemControl.item = item; itemControl.Height = 100; itemControl.Width = 100; var itemButton = new Button(); itemButton.Background = null; itemButton.HorizontalAlignment = HorizontalAlignment.Center; itemButton.VerticalAlignment = VerticalAlignment.Center; itemButton.Height = 100; itemButton.Width = 100; itemButton.Margin = new Thickness(0); itemButton.Content = itemControl; itemButton.Command = new RelayCommand <Item>(_model !.selectItem); itemButton.CommandParameter = item; if (itemCount % 3 == 0) { var rowDef = new RowDefinition(); rowDef.Height = new GridLength(100); itemsGrid.RowDefinitions.Add(rowDef); } itemsGrid.Children.Add(itemButton); Grid.SetRow(itemButton, itemCount / 3); Grid.SetColumn(itemButton, itemCount % 3); itemCount++; } inventoryCountLabel.Content = R.formatITEMS_COUNT_LABEL(itemCount); }
private void updateGridItemsUI(IEnumerable <Item>?items) { itemsGrid.RowDefinitions.Clear(); itemsGrid.Children.Clear(); if (_model == null || items == null) { inventoryCountLabel.Content = string.Empty; return; } int itemCount = 0; foreach (var item in items !) { var itemControl = new ItemControl(); itemControl.item = item; itemControl.Height = 100; itemControl.Width = 100; var itemButton = new Button(); itemButton.Background = null; itemButton.HorizontalAlignment = HorizontalAlignment.Center; itemButton.VerticalAlignment = VerticalAlignment.Center; itemButton.Height = 100; itemButton.Width = 100; itemButton.Margin = new Thickness(0); itemButton.Content = itemControl; itemButton.Command = new RelayCommand <Item>(_model !.selectItem); itemButton.CommandParameter = item; if (itemCount % ITEMS_PER_ROW == 0) { var rowDef = new RowDefinition(); rowDef.Height = new GridLength(100); itemsGrid.RowDefinitions.Add(rowDef); } itemsGrid.Children.Add(itemButton); Grid.SetRow(itemButton, itemCount / ITEMS_PER_ROW); Grid.SetColumn(itemButton, itemCount % ITEMS_PER_ROW); itemCount++; } var currentFilter = _model?.filter.value; if (currentFilter != null && currentFilter != ItemFilterEnum.Enchanted && currentFilter != ItemFilterEnum.All) { var newItemButton = new Button(); newItemButton.HorizontalAlignment = HorizontalAlignment.Center; newItemButton.VerticalAlignment = VerticalAlignment.Center; newItemButton.Height = 100; newItemButton.Width = 100; newItemButton.Margin = new Thickness(0); newItemButton.Content = "+"; newItemButton.Command = new RelayCommand <object>(_ => { this.addNewItemButton_Click(_model?.filter.value); }); if (itemCount % ITEMS_PER_ROW == 0) { var rowDef = new RowDefinition(); rowDef.Height = new GridLength(100); itemsGrid.RowDefinitions.Add(rowDef); } itemsGrid.Children.Add(newItemButton); Grid.SetRow(newItemButton, itemCount / ITEMS_PER_ROW); Grid.SetColumn(newItemButton, itemCount % ITEMS_PER_ROW); } string?gameContentString = R.getString("inventory_count"); if (gameContentString != null) { gameContentString = gameContentString .Replace("{current}", itemCount.ToString()) .Replace("{max}", Constants.MAXIMUM_INVENTORY_ITEM_COUNT.ToString()); } else { gameContentString = R.formatITEMS_COUNT_LABEL(itemCount, Constants.MAXIMUM_INVENTORY_ITEM_COUNT); } inventoryCountLabel.Content = gameContentString; }