public Bitmap CopyToMap(PixelMap map) { Bitmap bitmap = new Bitmap(984, 570); int index = 0; for (int y = 0; y < Program.CurrentMap.Height; y++) { for (int x = 0; x < Program.CurrentMap.Width; x++) { bitmap.SetPixel(x, y, map.pixels[index].color); index++; } } return(bitmap); }
public void ClearObject(PixelMap map) { int index = 0; for (int y = 0; y < Program.CurrentMap.Height; y++) { for (int x = 0; x < Program.CurrentMap.Width; x++) { if (map.pixels[index].color != Color.White) { Program.CurrentMap.SetPixel(x, y, Color.White); } index++; } } }
public void AddPosition() { PixelMap map = new PixelMap(); for (int y = 0; y < Program.CurrentMap.Height; y++) { for (int x = 0; x < Program.CurrentMap.Width; x++) { if (Program.CurrentMap.GetPixel(x, y) == Program.PreviousMap.GetPixel(x, y)) { map.pixels.Add(new Pixel(x, y, Color.White)); } else { map.pixels.Add(new Pixel(x, y, Program.CurrentMap.GetPixel(x, y))); } } } Program.MapPositionUObj.Add(Convert.ToInt32(Program.CurrentOpertedDataBase.Tables[2].Rows[Convert.ToInt32(Program.CurrentOpertedDataBase.Tables[2].Rows.Count - 1)][0]), map); }
private void Change_Click(object sender, EventArgs e) { var rows = Program.CurrentOpertedDataBase.Tables[1].Select("[" + RFilter.Text + "] = '" + Input.Text + "'"); if (rows.Length == 0) { MessageBox.Show("Ни одного подходящего элемента найдено не было", "Изменение", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { var row = rows[0]; PixelMap map = Program.MapPositionR[Convert.ToInt32(row[0])]; ClearObject(map); Program.road = new RObj(); Program.road.Id = Convert.ToInt32(row[0]); ChangeRCon con = new ChangeRCon(); con.Show(); this.Close(); } }
private void Delete_Click(object sender, EventArgs e) { var rows = Program.CurrentOpertedDataBase.Tables[2].Select("[" + UFilter.Text + "] = '" + Input.Text + "'"); if (rows.Length == 0) { MessageBox.Show("Ни одного подходящего элемента найдено не было", "Удаление", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { foreach (var row in rows) { PixelMap map = Program.MapPositionUObj[Convert.ToInt32(row[0])]; ClearObject(map); Program.MapPositionUObj.Remove(Convert.ToInt32(row[0])); Program.CurrentOpertedDataBase.Tables[2].Rows.Remove(row); } MessageBox.Show("Все подходящие элементы удалены", "Удаление", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void AddPosition() { PixelMap map = new PixelMap(); for (int y = 0; y < Program.CurrentMap.Height; y++) { for (int x = 0; x < Program.CurrentMap.Width; x++) { if (Program.CurrentMap.GetPixel(x, y) == Program.PreviousMap.GetPixel(x, y)) { map.pixels.Add(new Pixel(x, y, Color.White)); } else { map.pixels.Add(new Pixel(x, y, Program.CurrentMap.GetPixel(x, y))); } } } Program.MapPositionLS[Program.land.Id] = map; }
private void DownloadDB_Click(object sender, EventArgs e) { OpenFileDialog open = new OpenFileDialog(); if (open.ShowDialog() == DialogResult.Cancel) { MessageBox.Show("Загрузка отменена", "Загрузка", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { BinaryFormatter binary = new BinaryFormatter(); string filename = open.FileName; SaveFile LoadedSave = null; using (FileStream fs = new FileStream(filename, FileMode.Open)) { LoadedSave = (SaveFile)binary.Deserialize(fs); MessageBox.Show("Файл открыт", "Загрузка", MessageBoxButtons.OK, MessageBoxIcon.Information); } Program.CreateMap(); Program.CountryName = LoadedSave.CountryName; Program.RegionName = LoadedSave.RegionName; Program.LocalityName = LoadedSave.LocalityName; Program.ExtraInfo = LoadedSave.ExtraInfo; Program.CurrentMap = LoadedSave.CurrentMap; Program.TypeDataBase = new DataSet(); Program.CurrentOpertedDataBase = new DataSet(); Program.MakeDataSet(); Program.MakeConnecction(); Program.AddColumn(); for (int i = 0; i < LoadedSave.MLS.Length; i++) { PixelMap map = CopyToPixelMap(LoadedSave.MLS[i].map); Program.MapPositionLS.Add(LoadedSave.MLS[i].id, map); Program.CurrentOpertedDataBase.Tables[0].Rows.Add(LoadedSave.landscape[i].Id, LoadedSave.landscape[i].Name, LoadedSave.landscape[i].Type, LoadedSave.landscape[i].ExtraInfo); } if (Program.MapPositionLS.Count != 0) { Program.CurrentOpertedDataBase.Tables[0].Columns[0].AutoIncrementSeed = Convert.ToInt32(Program.CurrentOpertedDataBase.Tables[0].Rows[Program.MapPositionLS.Count - 1][0]); } for (int i = 0; i < LoadedSave.MR.Length; i++) { PixelMap map = CopyToPixelMap(LoadedSave.MR[i].map); Program.MapPositionR.Add(LoadedSave.MR[i].id, map); Program.CurrentOpertedDataBase.Tables[1].Rows.Add(LoadedSave.roadsystem[i].Id, LoadedSave.roadsystem[i].Name, LoadedSave.roadsystem[i].Type, LoadedSave.roadsystem[i].ExtraInfo); } if (Program.MapPositionR.Count != 0) { Program.CurrentOpertedDataBase.Tables[1].Columns[0].AutoIncrementSeed = Convert.ToInt32(Program.CurrentOpertedDataBase.Tables[1].Rows[Program.MapPositionR.Count - 1][0]); } for (int i = 0; i < LoadedSave.MUObj.Length; i++) { PixelMap map = CopyToPixelMap(LoadedSave.MUObj[i].map); Program.MapPositionUObj.Add(LoadedSave.MUObj[i].id, map); Program.CurrentOpertedDataBase.Tables[2].Rows.Add(LoadedSave.urbanobjects[i].Id, LoadedSave.urbanobjects[i].Name, LoadedSave.urbanobjects[i].Type, LoadedSave.urbanobjects[i].Street, LoadedSave.urbanobjects[i].Num, LoadedSave.urbanobjects[i].ExtraInfo); } if (Program.MapPositionUObj.Count != 0) { Program.CurrentOpertedDataBase.Tables[2].Columns[0].AutoIncrementSeed = Convert.ToInt32(Program.CurrentOpertedDataBase.Tables[2].Rows[Program.MapPositionUObj.Count - 1][0]); } Program.MakeTypeMas(); Program.MakeTypeColor(); Program.MakeHeadersType(); Program.MakeHeaders(); MainChangingWindow main = new MainChangingWindow(); main.Show(); } }