2019-03-27 15:54:50 +01:00
|
|
|
|
using System;
|
2019-04-01 23:10:31 +02:00
|
|
|
|
using System.Collections;
|
2019-03-27 15:54:50 +01:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
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;
|
2019-04-08 15:47:01 +02:00
|
|
|
|
using CzokoŚmieciarka.DataModels.Enums;
|
2019-04-01 23:10:31 +02:00
|
|
|
|
using CzokoŚmieciarka.DataModels.GeneralModels.Models;
|
2019-04-01 23:47:13 +02:00
|
|
|
|
using CzokoŚmieciarka.DataModels.Interfaces.TrashCans;
|
2019-04-01 23:10:31 +02:00
|
|
|
|
using CzokoŚmieciarka.DataModels.Models;
|
2019-04-01 21:53:06 +02:00
|
|
|
|
using CzokoŚmieciarka.WPFv2.Interfaces;
|
|
|
|
|
using CzokoŚmieciarka.WPFv2.Models;
|
2019-03-27 15:54:50 +01:00
|
|
|
|
|
|
|
|
|
namespace CzokoŚmieciarka.WPFv2
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Interaction logic for MainWindow.xaml
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class MainWindow : Window
|
|
|
|
|
{
|
2019-04-01 21:53:06 +02:00
|
|
|
|
public static int Columns = 9;
|
|
|
|
|
public static int Rows = 9;
|
|
|
|
|
IWPFObject[,] Objects = new IWPFObject[Columns,Rows];
|
2019-04-02 16:14:33 +02:00
|
|
|
|
private IEnumerable<AGarbageCollectorContainer> GarbageCollectorContainers;
|
|
|
|
|
private WPFGarbageCollector garbageCollector;
|
|
|
|
|
|
2019-03-27 15:54:50 +01:00
|
|
|
|
public MainWindow()
|
2019-04-08 15:47:01 +02:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
BoardInitialize();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void MainWindow_OnKeyDown(object sender, KeyEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (e.Key == Key.Space)
|
|
|
|
|
{
|
|
|
|
|
garbageCollector.Position = garbageCollector.MoveRight();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CollectorBoard.Children.Clear();
|
|
|
|
|
Grid.SetRow(garbageCollector.Image, garbageCollector.Position.Y);
|
|
|
|
|
Grid.SetColumn(garbageCollector.Image, garbageCollector.Position.X);
|
|
|
|
|
CollectorBoard.Children.Add(garbageCollector.Image);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void BoardInitialize()
|
2019-03-27 15:54:50 +01:00
|
|
|
|
{
|
|
|
|
|
ColumnDefinition column;
|
|
|
|
|
RowDefinition row;
|
2019-04-08 15:47:01 +02:00
|
|
|
|
for (int i = 0; i < Rows; i++)
|
|
|
|
|
{
|
2019-03-27 15:54:50 +01:00
|
|
|
|
column = new ColumnDefinition();
|
|
|
|
|
row = new RowDefinition();
|
|
|
|
|
Board.ColumnDefinitions.Add(column);
|
|
|
|
|
Board.RowDefinitions.Add(row);
|
2019-04-01 23:47:13 +02:00
|
|
|
|
column = new ColumnDefinition();
|
|
|
|
|
row = new RowDefinition();
|
|
|
|
|
CollectorBoard.ColumnDefinitions.Add(column);
|
|
|
|
|
CollectorBoard.RowDefinitions.Add(row);
|
2019-04-01 21:53:06 +02:00
|
|
|
|
for (int j = 0; j < Columns; j++)
|
|
|
|
|
{
|
2019-04-01 23:10:31 +02:00
|
|
|
|
Road road = new Road();
|
2019-04-01 21:53:06 +02:00
|
|
|
|
Objects[i, j] = road;
|
2019-04-08 15:47:01 +02:00
|
|
|
|
Grid.SetRow(Objects[i, j].Image, i);
|
2019-04-01 23:10:31 +02:00
|
|
|
|
Grid.SetColumn(Objects[i, j].Image, j);
|
|
|
|
|
Board.Children.Add(Objects[i, j].Image);
|
2019-04-01 21:53:06 +02:00
|
|
|
|
}
|
2019-04-01 23:10:31 +02:00
|
|
|
|
|
|
|
|
|
IEnumerable<TrashCan> trashCans = new List<TrashCan>();
|
|
|
|
|
WPFHouse house = new WPFHouse(new Coords(i, i), trashCans);
|
|
|
|
|
Objects[i, i] = house;
|
|
|
|
|
Grid.SetRow(Objects[i, i].Image, i);
|
|
|
|
|
Grid.SetColumn(Objects[i, i].Image, i);
|
|
|
|
|
Board.Children.Add(Objects[i, i].Image);
|
|
|
|
|
|
2019-03-27 15:54:50 +01:00
|
|
|
|
}
|
2019-04-08 15:47:01 +02:00
|
|
|
|
Objects[2,7] = new WPFDump(new TypeOfGarbage(GarbageType.Glass,1,1), 10000,new Coords(2,7));
|
|
|
|
|
Grid.SetColumn(Objects[2, 7].Image, 2);
|
|
|
|
|
Grid.SetRow(Objects[2, 7].Image, 7);
|
|
|
|
|
Board.Children.Add(Objects[2, 7].Image);
|
|
|
|
|
Objects[3,7] = new WPFDump(new TypeOfGarbage(GarbageType.Organic,1,1),10000, new Coords(3,7));
|
|
|
|
|
Grid.SetColumn(Objects[3, 7].Image, 3);
|
|
|
|
|
Grid.SetRow(Objects[3, 7].Image, 7);
|
|
|
|
|
Board.Children.Add(Objects[3, 7].Image);
|
|
|
|
|
Objects[2,8] = new WPFDump(new TypeOfGarbage(GarbageType.Paper,1,1), 10000, new Coords(2,8));
|
|
|
|
|
Grid.SetColumn(Objects[2, 8].Image, 2);
|
|
|
|
|
Grid.SetRow(Objects[2, 8].Image, 8);
|
|
|
|
|
Board.Children.Add(Objects[2, 8].Image);
|
|
|
|
|
Objects[3,8] = new WPFDump(new TypeOfGarbage(GarbageType.PlasticMetal, 1,1), 10000, new Coords(3,8));
|
|
|
|
|
Grid.SetColumn(Objects[3, 8].Image, 3);
|
|
|
|
|
Grid.SetRow(Objects[3, 8].Image, 8);
|
|
|
|
|
Board.Children.Add(Objects[3, 8].Image);
|
|
|
|
|
|
2019-03-27 15:54:50 +01:00
|
|
|
|
|
2019-04-08 15:47:01 +02:00
|
|
|
|
GarbageCollectorContainers = new List<AGarbageCollectorContainer>()
|
|
|
|
|
{
|
|
|
|
|
new GarbageCollectorContainer(new TypeOfGarbage(GarbageType.Glass,1,1), 500),
|
|
|
|
|
new GarbageCollectorContainer(new TypeOfGarbage(GarbageType.Organic,1,1), 500),
|
|
|
|
|
new GarbageCollectorContainer(new TypeOfGarbage(GarbageType.PlasticMetal, 1,1),500),
|
|
|
|
|
new GarbageCollectorContainer(new TypeOfGarbage(GarbageType.Paper, 1,1), 500)
|
|
|
|
|
};
|
2019-04-02 16:14:33 +02:00
|
|
|
|
garbageCollector = new WPFGarbageCollector(new Coords(2, 1), GarbageCollectorContainers);
|
2019-04-01 23:47:13 +02:00
|
|
|
|
Grid.SetRow(garbageCollector.Image, garbageCollector.Position.Y);
|
|
|
|
|
Grid.SetColumn(garbageCollector.Image, garbageCollector.Position.X);
|
|
|
|
|
CollectorBoard.Children.Add(garbageCollector.Image);
|
|
|
|
|
CollectorBoard.ShowGridLines = true;
|
2019-04-08 15:47:01 +02:00
|
|
|
|
//CollectorInfo.ItemsSource = garbageCollector.TrashContainers;
|
2019-04-03 11:52:48 +02:00
|
|
|
|
//CollectorInfo.Items.Add(garbageCollector);
|
|
|
|
|
//CollectorInfo.Columns.Add(new DataGridTextColumn {Header="X", Binding = new Binding("Position.X")});
|
|
|
|
|
//CollectorInfo.Columns.Add(new DataGridTextColumn { Header = "Y", Binding = new Binding("Position.Y") });
|
2019-03-27 15:54:50 +01:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|