private void AddButtonsAndImages() { absolutePath = System.IO.Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.FullName; foreach (UIElement uIElement in UnitGrid.Children) { if (uIElement is Button b) { UnitButtons.Add(b); b.Click += unitClicked; //if (b.Content is Image i) //{ // Images.Add(i);//Ne mislim da je vazno, svakom od UnitButton.Context uvek mozemo pristupiti //} } } int counter = 0; Uri uri; foreach (UIElement uIElement in DefaultPieceGrid.Children) { if (uIElement is Button b) { if (uIElement.Uid == "Piece") { Image i = b.Content as Image; uri = new Uri(absolutePath + "/PiecesV2/" + counter.ToString() + ".png", UriKind.Absolute); i.Source = new System.Windows.Media.Imaging.BitmapImage(uri); DefaultPieceButtons.Add(b); b.DataContext = counter + 1; counter++; } else if (uIElement.Uid == "Lock") { LockButton = b; uri = new Uri(absolutePath + "/Images/Buttons/Lock/Lock_unlocked.jpg", UriKind.Absolute); (LockButton.Content as Image).Source = new System.Windows.Media.Imaging.BitmapImage(uri); } else if (uIElement.Uid == "Reroll") { b.Click += (o, e) => { OnRerollClick(b); }; } } } }
private void unitClicked(Object sender, RoutedEventArgs e) { if (DefaultPieceSelector.GetDefaultPiece() != Enums.Piece.none) { return; } int buttonIndex = UnitButtons.IndexOf(sender as Button); if (_pieceButtonGrids[buttonIndex] != null) { MainGrid.Children.Remove(_pieceButtonGrids[buttonIndex]); _pieceButtonGrids[buttonIndex] = null; return; } _pieceButtonGrids[buttonIndex] = Application.Current.Resources["Unit" + buttonIndex.ToString()] as Grid; setSources(sender as Button, _pieceButtonGrids[buttonIndex]); MainGrid.Children.Add(_pieceButtonGrids[buttonIndex]); }