mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-12-01 16:12:33 +00:00
93 lines
2.9 KiB
C#
93 lines
2.9 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Data;
|
|||
|
using System.Drawing;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Windows.Forms;
|
|||
|
using CodeImp.DoomBuilder.Map;
|
|||
|
using CodeImp.DoomBuilder.Geometry;
|
|||
|
using CodeImp.DoomBuilder.Windows;
|
|||
|
|
|||
|
namespace CodeImp.DoomBuilder.ThreeDFloorMode
|
|||
|
{
|
|||
|
public partial class SlopeDataSectorDialog : Form
|
|||
|
{
|
|||
|
public SlopeDataSectorDialog()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
}
|
|||
|
|
|||
|
private void button1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (General.Map.Map.SelectedSectorsCount == 0)
|
|||
|
MessageBox.Show("No sectors selected. Please select exactly one sector", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
else if (General.Map.Map.SelectedSectorsCount > 1)
|
|||
|
MessageBox.Show(General.Map.Map.SelectedSectorsCount.ToString() + " sectors selected. Please select exactly one sector", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
else
|
|||
|
{
|
|||
|
General.Map.Map.ClearAllMarks(false);
|
|||
|
General.Map.Map.GetSelectedSectors(true).First().Marked = true;
|
|||
|
|
|||
|
this.DialogResult = DialogResult.OK;
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void SlopeDataSectorDialog_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
webBrowser1.DocumentText = string.Format(System.Globalization.CultureInfo.GetCultureInfo("en-US"), @"
|
|||
|
<style>
|
|||
|
body {{ background-color:rgb({0},{1},{2}); font-family:{3}; font-size:12 }}
|
|||
|
</style>
|
|||
|
|
|||
|
The map does not contain a slope data sector. This sector is required by the slope mode to store data for the slope vertex groups.
|
|||
|
|
|||
|
You have two options:
|
|||
|
<ul>
|
|||
|
<li>Use selected sector: uses the currently selected sector to store the slope data. <span style='color:red'>Make sure that this sector is only
|
|||
|
used for this purpose! Do not edit or delete it!</span></li>
|
|||
|
<li>Create sector in CSA: automatically creates a new sector in the control sector area. <span style='color:red'>Do not edit or delete it!</span></li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<b>Creating the sector in the CSA is the recommended method to use.</b>", this.BackColor.R, this.BackColor.G, this.BackColor.B, this.Font.Name);
|
|||
|
}
|
|||
|
|
|||
|
private void createnewsector_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
List<DrawnVertex> drawnvertices = new List<DrawnVertex>();
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
drawnvertices = BuilderPlug.Me.ControlSectorArea.GetNewControlSectorVertices();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
General.Map.Map.ClearAllMarks(false);
|
|||
|
|
|||
|
// DrawLines automatically marks the new sector, so we don't have to do it manually
|
|||
|
if (Tools.DrawLines(drawnvertices) == false)
|
|||
|
{
|
|||
|
MessageBox.Show("Could not draw new sector", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
// Update textures
|
|||
|
General.Map.Data.UpdateUsedTextures();
|
|||
|
|
|||
|
// Update caches
|
|||
|
General.Map.Map.Update();
|
|||
|
General.Interface.RedrawDisplay();
|
|||
|
General.Map.IsChanged = true;
|
|||
|
|
|||
|
this.DialogResult = DialogResult.OK;
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|