Forked from
STJr / UltimateZoneBuilder
507 commits behind the upstream repository.
SectorsMode.cs 87.98 KiB
#region ================== Copyright (c) 2007 Pascal vd Heiden
/*
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#endregion
#region ================== Namespaces
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Diagnostics;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections.Concurrent;
using CodeImp.DoomBuilder.Actions;
using CodeImp.DoomBuilder.BuilderModes.Interface;
using CodeImp.DoomBuilder.Config;
using CodeImp.DoomBuilder.Editing;
using CodeImp.DoomBuilder.Geometry;
using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Rendering;
using CodeImp.DoomBuilder.Types;
using CodeImp.DoomBuilder.Windows;
#endregion
namespace CodeImp.DoomBuilder.BuilderModes
{
[EditMode(DisplayName = "Sectors Mode",
SwitchAction = "sectorsmode", // Action name used to switch to this mode
ButtonImage = "SectorsMode.png", // Image resource name for the button
ButtonOrder = int.MinValue + 200, // Position of the button (lower is more to the left)
ButtonGroup = "000_editing",
UseByDefault = true,
SafeStartMode = true)]
public class SectorsMode : BaseClassicMode
{
#region ================== Constants
private const int MAX_SECTOR_LABELS = 256; //mxd
#endregion
#region ================== Variables
// Highlighted item
private Sector highlighted;
private readonly Association highlightasso;
// Interface
new private bool editpressed;
// Labels
private Dictionary<Sector, TextLabel[]> labels;
private List<ITextLabel> torenderlabels;
//mxd. Effects
private readonly Dictionary<int, string[]> effects;