mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-23 12:22:35 +00:00
40 lines
1 KiB
C#
40 lines
1 KiB
C#
|
|
#region ================== Namespaces
|
|
|
|
using CodeImp.DoomBuilder.Config;
|
|
using CodeImp.DoomBuilder.Map;
|
|
|
|
#endregion
|
|
|
|
namespace CodeImp.DoomBuilder.BuilderModes
|
|
{
|
|
public class ActionFloorLowerToLowestTextures : BaseActionTextures
|
|
{
|
|
#region ================== Methods
|
|
|
|
// Gather the lift and lower to lowest floor specials from the configuration.
|
|
protected override bool InspectsAction(LinedefActionInfo info)
|
|
{
|
|
return info.ErrorCheckerExemptions.FloorLowerToLowest;
|
|
}
|
|
|
|
// Determine whether a lower texture is needed after the sector lowers to the lowest neighbour floor.
|
|
protected override bool HasAdjustedSector(Sidedef side)
|
|
{
|
|
int lowestheight = side.Sector.FloorHeight;
|
|
|
|
// Find height of the neighbouring sector with the lowest floor.
|
|
foreach (Sidedef s in side.Sector.Sidedefs)
|
|
{
|
|
if (s.Other != null && s.Other.Sector != side.Sector && s.Other.Sector.FloorHeight < lowestheight)
|
|
{
|
|
lowestheight = s.Other.Sector.FloorHeight;
|
|
}
|
|
}
|
|
|
|
return side.Other.Sector.FloorHeight > lowestheight;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|