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 result = new List(); 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()); } } }