using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using CzokoŚmieciarka.DataModels.Enums; using CzokoŚmieciarka.DataModels.GeneralModels.Models; using CzokoŚmieciarka.DataModels.Interfaces; using CzokoŚmieciarka.DataModels.Interfaces.TrashCans; using CzokoŚmieciarka.DataModels.Models; using CzokoŚmieciarka.WPF.Interfaces; using CzokoŚmieciarka.WPF.Models; namespace CzokoŚmieciarka.WPF { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { //public Board board; private static int rows = 9; private static int columns = 9; private GarbageCollectorWPF garbageCollector = new GarbageCollectorWPF(columns, new Coords(0, 0), AppDomain.CurrentDomain.BaseDirectory + @"..\..\Images\garbageCollector.png", new List()); private List Objects = new List(); public MainWindow() { InitializeComponent(); for (int y = 0; y < rows; y++) { for (int x = 0; x < columns; x++) { Road road = new Road(columns, new Coords(x, y), AppDomain.CurrentDomain.BaseDirectory + @"..\..\Images\intersection.png"); Objects.Add(road); } } List trashes = new List(); Trash glass = new Trash(GarbageType.Glass, 100); Trash plasticMetal = new Trash(GarbageType.PlasticMetal, 100); Trash organic = new Trash(GarbageType.Organic, 100); Trash paper = new Trash(GarbageType.Paper, 100); trashes.Add(glass); trashes.Add(plasticMetal); trashes.Add(organic); trashes.Add(paper); House house = new House(columns, new Coords(0, 0), trashes); Objects[house.Location.X + house.Location.Y] = house; house = new House(columns, new Coords(1, 0), trashes); Objects[house.Location.X + house.Location.Y] = house; house = new House(columns, new Coords(2, 0), trashes); Objects[house.Location.X + house.Location.Y] = house; DumpWPF dump = new DumpWPF(columns, new Coords(2, 4), glass); Objects[dump.Location.X + dump.Location.Y] = dump; dump = new DumpWPF(columns, new Coords(2, 5), paper); Objects[dump.Location.X + dump.Location.Y] = dump; dump = new DumpWPF(columns, new Coords(3, 4), organic); Objects[dump.Location.X + dump.Location.Y] = dump; dump = new DumpWPF(columns, new Coords(3, 5), plasticMetal); Objects[dump.Location.X + dump.Location.Y] = dump; Board board = new Board(Objects, garbageCollector); this.DataContext = board; } private void MainWindow_OnKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Up) { garbageCollector.Move(columns, Direction.Up); } if (e.Key == Key.Down) { garbageCollector.Move(columns, Direction.Down); } if (e.Key == Key.Left) { garbageCollector.Move(columns, Direction.Left); } if (e.Key == Key.Right) { garbageCollector.Move(columns, Direction.Right); } Board board = new Board(Objects, garbageCollector); board.BoardRefresh(Objects, garbageCollector); this.DataContext = board; } } }