private void pbDmMap_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (ModifierKeys == Keys.Shift) { Mini mini = new Mini(Resources.DefaultMini); pbDmMap.Controls.Add(mini); mini.BringToFront(); mini.Show(); mini.CreatePlayerMini(pMap.pbPlayerMap); mini.Location = pbDmMap.PointToClient(Cursor.Position); zoomScroll.Visible = false; zoomScroll.Enabled = false; } else { currentLine.Add(e.Location); drawOntoImage(Color.Transparent, penRadius); } } else if (e.Button == MouseButtons.Right) { } }
public void ShowMini() { Bitmap miniFill = new Bitmap(ClientSize.Width, ClientSize.Height); using (Graphics g = Graphics.FromImage(miniFill)) g.Clear(Color.Transparent); Image = miniFill; shown = true; PlayerMini.shown = true; PlayerMini.Show(); PlayerMini.BringToFront(); }
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(); } }