UltimateZoneBuilder/Source/Plugins/BuilderModes/ErrorChecks/ResultUnknownFlat.cs
MaxED e8f52aecb9 Added Draw Settings side panel, which replaces Set Default Textures Form and allows to set textures, brightness and floor/ceiling heights to use when drawing sectors. Used settings are now saved in the map's .dbs file.
Location and active tab of all Edit Forms are now stored while GZDB is running.
Focus management between editing window and the rest of the interface should work better now.
Tag Explorer plugin: editing window was not updated properly when Edit forms were opened from Tag Explorer.
Tag Explorer plugin, UDMF: comment editing was incorrectly initialized in some cases.
2013-11-21 10:53:11 +00:00

92 lines
2.5 KiB
C#

#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 CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Rendering;
#endregion
namespace CodeImp.DoomBuilder.BuilderModes
{
public class ResultUnknownFlat : ErrorResult
{
#region ================== Variables
private Sector sector;
private bool ceiling;
#endregion
#region ================== Properties
public override int Buttons { get { return 1; } }
public override string Button1Text { get { return "Add Default Flat"; } }
#endregion
#region ================== Constructor / Destructor
// Constructor
public ResultUnknownFlat(Sector s, bool ceiling)
{
// Initialize
this.sector = s;
this.ceiling = ceiling;
this.viewobjects.Add(s);
string objname = ceiling ? "ceiling" : "floor";
this.description = "This sector " + objname + " uses an unknown flat. This could be the result of missing resources, or a mistyped flat name. Click the Add Default Flat button to use a known flat instead.";
}
#endregion
#region ================== Methods
// This must return the string that is displayed in the listbox
public override string ToString()
{
if(ceiling)
return "Sector " + sector.Index + " has unknown ceiling flat \"" + sector.CeilTexture + "\"";
else
return "Sector " + sector.Index + " has unknown floor flat \"" + sector.FloorTexture + "\"";
}
// Rendering
public override void PlotSelection(IRenderer2D renderer)
{
renderer.PlotSector(sector, General.Colors.Selection);
}
// Fix by setting default flat
public override bool Button1Click(bool batchMode)
{
if(!batchMode) General.Map.UndoRedo.CreateUndo("Unknown flat correction");
General.Settings.FindDefaultDrawSettings();
if(ceiling)
sector.SetCeilTexture(General.Map.Options.DefaultCeilingTexture);
else
sector.SetFloorTexture(General.Map.Options.DefaultFloorTexture);
General.Map.Map.Update();
return true;
}
#endregion
}
}