ZoneBuilder/Source/Core/Map/GroupInfo.cs

42 lines
1.2 KiB
C#

using System.Collections.Generic;
namespace CodeImp.DoomBuilder.Map
{
public class GroupInfo
{
private readonly int numSectors;
private readonly int numLines;
private readonly int numVerts;
private readonly int numThings;
private readonly int index;
private readonly bool empty;
public bool Empty { get { return empty; } }
public int Index { get { return index; } }
public GroupInfo(int index, int numSectors, int numLines, int numVerts, int numThings)
{
this.index = index;
this.numSectors = numSectors;
this.numLines = numLines;
this.numVerts = numVerts;
this.numThings = numThings;
empty = (numSectors == 0 && numLines == 0 && numVerts == 0 && numThings == 0);
}
public override string ToString()
{
if(empty) return index + ": Empty";
List<string> result = new List<string>();
if(numSectors > 0) result.Add(numSectors + (numSectors > 1 ? " sectors" : " sector"));
if(numLines > 0) result.Add(numLines + (numLines > 1 ? " lines" : " line"));
if(numVerts > 0) result.Add(numVerts + (numVerts > 1 ? " vertices" : " vertex"));
if(numThings > 0) result.Add(numThings + (numThings > 1 ? " things" : " thing"));
return index + ": " + string.Join(", ", result.ToArray());
}
}
}