mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-12-12 21:21:48 +00:00
e8f52aecb9
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.
119 lines
3.5 KiB
C#
119 lines
3.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 ResultUnknownTexture : ErrorResult
|
|
{
|
|
#region ================== Variables
|
|
|
|
private Sidedef side;
|
|
private SidedefPart part;
|
|
|
|
#endregion
|
|
|
|
#region ================== Properties
|
|
|
|
public override int Buttons { get { return 2; } }
|
|
public override string Button1Text { get { return "Remove Texture"; } }
|
|
public override string Button2Text { get { return "Add Default Texture"; } }
|
|
|
|
#endregion
|
|
|
|
#region ================== Constructor / Destructor
|
|
|
|
// Constructor
|
|
public ResultUnknownTexture(Sidedef sd, SidedefPart part)
|
|
{
|
|
// Initialize
|
|
this.side = sd;
|
|
this.part = part;
|
|
this.viewobjects.Add(sd);
|
|
this.description = "This sidedef uses an unknown texture. This could be the result of missing resources, or a mistyped texture name. Click the Remove Texture button to remove the texture or click on Add Default Texture to use a known texture instead.";
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region ================== Methods
|
|
|
|
// This must return the string that is displayed in the listbox
|
|
public override string ToString()
|
|
{
|
|
switch(part)
|
|
{
|
|
case SidedefPart.Upper:
|
|
return "Sidedef " + side.Index + " has unknown upper texture \"" + side.HighTexture + "\"";
|
|
|
|
case SidedefPart.Middle:
|
|
return "Sidedef " + side.Index + " has unknown middle texture \"" + side.MiddleTexture + "\"";
|
|
|
|
case SidedefPart.Lower:
|
|
return "Sidedef " + side.Index + " has unknown lower texture \"" + side.LowTexture + "\"";
|
|
|
|
default:
|
|
return "ERROR";
|
|
}
|
|
}
|
|
|
|
// Rendering
|
|
public override void PlotSelection(IRenderer2D renderer)
|
|
{
|
|
renderer.PlotLinedef(side.Line, General.Colors.Selection);
|
|
renderer.PlotVertex(side.Line.Start, ColorCollection.VERTICES);
|
|
renderer.PlotVertex(side.Line.End, ColorCollection.VERTICES);
|
|
}
|
|
|
|
// Fix by removing texture
|
|
public override bool Button1Click(bool batchMode)
|
|
{
|
|
if(!batchMode) General.Map.UndoRedo.CreateUndo("Remove unknown texture");
|
|
switch(part)
|
|
{
|
|
case SidedefPart.Upper: side.SetTextureHigh("-"); break;
|
|
case SidedefPart.Middle: side.SetTextureMid("-"); break;
|
|
case SidedefPart.Lower: side.SetTextureLow("-"); break;
|
|
}
|
|
|
|
General.Map.Map.Update();
|
|
return true;
|
|
}
|
|
|
|
// Fix by setting default texture
|
|
public override bool Button2Click(bool batchMode)
|
|
{
|
|
if(!batchMode) General.Map.UndoRedo.CreateUndo("Unknown texture correction");
|
|
General.Settings.FindDefaultDrawSettings();
|
|
switch(part)
|
|
{
|
|
case SidedefPart.Upper: side.SetTextureHigh(General.Map.Options.DefaultWallTexture); break;
|
|
case SidedefPart.Middle: side.SetTextureMid(General.Map.Options.DefaultWallTexture); break;
|
|
case SidedefPart.Lower: side.SetTextureLow(General.Map.Options.DefaultWallTexture); break;
|
|
}
|
|
|
|
General.Map.Map.Update();
|
|
return true;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|