private void Dungee_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.Up) { if (mouseOverControl.GetType() == typeof(Mini)) { Mini activeMini = (Mini)mouseOverControl; if (activeMini.imgSize >= 25 && activeMini.imgSize <= 200) { activeMini.imgSize += 5; } else if (activeMini.imgSize <= 25) { activeMini.imgSize = 25; } else if (activeMini.imgSize >= 200) { activeMini.imgSize = 200; } activeMini.Size = new Size(activeMini.imgSize, activeMini.imgSize); activeMini.PlayerMini.Size = activeMini.Size; activeMini.Invalidate(); activeMini.Update(); } else { if (penRadius >= 10 && penRadius <= 500) { penRadius += 10; } else if (penRadius <= 10) { penRadius = 10; } else if (penRadius >= 500) { penRadius = 500; } pbDmMap.Invalidate(); pbDmMap.Update(); } } else if (e.Control && e.KeyCode == Keys.Down) { if (mouseOverControl.GetType() == typeof(Mini)) { Mini activeMini = (Mini)mouseOverControl; if (activeMini.imgSize >= 25 && activeMini.imgSize <= 200) { activeMini.imgSize -= 5; } else if (activeMini.imgSize <= 25) { activeMini.imgSize = 25; } else if (activeMini.imgSize >= 200) { activeMini.imgSize = 200; } activeMini.Size = new Size(activeMini.imgSize, activeMini.imgSize); activeMini.PlayerMini.Size = activeMini.Size; activeMini.Invalidate(); activeMini.Update(); } else { if (penRadius >= 10 && penRadius <= 500) { penRadius -= 10; } else if (penRadius <= 10) { penRadius = 10; } else if (penRadius >= 500) { penRadius = 500; } pbDmMap.Invalidate(); pbDmMap.Update(); } } else if (e.KeyCode == Keys.X) { if (mouseOverControl.GetType() == typeof(Mini)) { Mini activeMini = (Mini)mouseOverControl; activeMini.KillMini(); } } else if (e.KeyCode == Keys.Z) { fill = true; } else if (e.KeyCode == Keys.A) { cursorType = CursorType.AOE; pbDmMap.Invalidate(); pbDmMap.Update(); pMap.pbPlayerMap.Invalidate(); pMap.pbPlayerMap.Update(); } else if (e.KeyCode == Keys.S) { pMap.Activate(); } }
private void btnLoad_Click(object sender, EventArgs e) { OpenFileDialog openFile = new OpenFileDialog() { Filter = "Map File |*.jpg;*.jpeg;*.png;*.sesh", }; if (openFile.ShowDialog() == DialogResult.OK) { pbDmMap.Controls.Clear(); pMap.pbPlayerMap.Controls.Clear(); pbDmMap.Update(); pMap.pbPlayerMap.Update(); string FileName = openFile.FileName; if (Path.GetExtension(openFile.FileName) == ".sesh") { string mapFile = Path.GetFileName(openFile.FileName).Replace(".sesh", ".map"); string playerMapFile = Path.GetFileName(openFile.FileName).Replace(".sesh", ".pmap"); string fogPlayerFile = Path.GetFileName(openFile.FileName).Replace(".sesh", ".pfog"); string fogDMFile = Path.GetFileName(openFile.FileName).Replace(".sesh", ".dmfog"); string jsonFile = Path.GetFileName(openFile.FileName).Replace(".sesh", ".json"); using (FileStream seshFile = new FileStream(openFile.FileName, FileMode.Open)) { using (ZipArchive archive = new ZipArchive(seshFile, ZipArchiveMode.Read)) { ZipArchiveEntry mapEntry = archive.GetEntry(mapFile); using (StreamReader readerMap = new StreamReader(mapEntry.Open())) dmMap = Image.FromStream(readerMap.BaseStream); ZipArchiveEntry playerMapEntry = archive.GetEntry(playerMapFile); using (StreamReader readerMap = new StreamReader(playerMapEntry.Open())) playerMap = Image.FromStream(readerMap.BaseStream); ZipArchiveEntry dmfogEntry = archive.GetEntry(fogDMFile); using (StreamReader readerDMFog = new StreamReader(dmfogEntry.Open())) pbDmMap.Image = Image.FromStream(readerDMFog.BaseStream); ZipArchiveEntry pfogEntry = archive.GetEntry(fogPlayerFile); using (StreamReader readerPFog = new StreamReader(pfogEntry.Open())) pMap.pbPlayerMap.Image = Image.FromStream(readerPFog.BaseStream); ZipArchiveEntry miniEntry = archive.GetEntry(jsonFile); using (StreamReader readerMini = new StreamReader(miniEntry.Open())) { JavaScriptSerializer serializer = new JavaScriptSerializer(); List <Mini.MiniProperties> minis = serializer.Deserialize <List <Mini.MiniProperties> >(readerMini.ReadToEnd()); zoomScroll.Enabled = minis.Count == 0; zoomScroll.Visible = minis.Count == 0; foreach (Mini.MiniProperties mini in minis) { ZipArchiveEntry miniImgEntry = archive.GetEntry(mini.ImgName); using (StreamReader readerMiniImg = new StreamReader(miniImgEntry.Open())) { Image image = Image.FromStream(readerMiniImg.BaseStream); Mini addMini = new Mini(image); addMini.Name = mini.Name; addMini.imgFileName = mini.ImgName; pbDmMap.Controls.Add(addMini); addMini.BringToFront(); addMini.Show(); addMini.Location = new Point(mini.X, mini.Y); addMini.Size = new Size(mini.Size, mini.Size); addMini.CreatePlayerMini(pMap.pbPlayerMap); addMini.PlayerMini.Location = addMini.Location; addMini.PlayerMini.Size = addMini.Size; if (mini.Active) { addMini.ShowMini(); } if (mini.Dead) { addMini.KillMini(); } } } } } } pbDmMap.BackgroundImage = dmMap; //pbDmMap.Width = dmMap.Width; //pbDmMap.Height = dmMap.Height; pMap.Show(); pMap.Location = panel1.PointToScreen(Point.Empty); pMap.Size = panel1.Size; pMap.pbPlayerMap.BackgroundImage = dmMap; } else { dmMap = Image.FromFile(openFile.FileName); //dmMap = ResizeImage(dmMap, false); pbDmMap.Width = dmMap.Width; pbDmMap.Height = dmMap.Height; pbDmMap.BackgroundImage = dmMap; pMap.Show(); pMap.Location = panel1.PointToScreen(Point.Empty); pMap.Size = panel1.Size; if (Path.GetFileName(openFile.FileName).Contains("-DM")) { string path = openFile.FileName.Replace( Path.GetFileName(openFile.FileName), Path.GetFileName(openFile.FileName).Replace("-DM", "")); pMap.pbPlayerMap.BackgroundImage = Image.FromFile(path); //ResizeImage(Image.FromFile(path), false); } else { pMap.pbPlayerMap.BackgroundImage = dmMap; } FillMap(); zoomScroll.Enabled = true; zoomScroll.Visible = true; } btnSave.Enabled = true; btnClear.Enabled = true; btnFill.Enabled = true; btnPlayerView.Enabled = true; zoomScroll.Value = 100; lblZoom.Enabled = true; mapRes = pbDmMap.Image.Size; Activate(); } }