public MapData Clone() { return(new MapData( nameSpace: NameSpace, lineDefs: LineDefs.Select(item => item.Clone()), sideDefs: SideDefs.Select(item => item.Clone()), vertices: Vertices.Select(item => item.Clone()), sectors: Sectors.Select(item => item.Clone()), things: Things.Select(item => item.Clone()), comment: Comment, unknownProperties: UnknownProperties.Select(item => item.Clone()), unknownBlocks: UnknownBlocks.Select(item => item.Clone()))); }
public MapData( string nameSpace, IEnumerable <LineDef> lineDefs, IEnumerable <SideDef> sideDefs, IEnumerable <Vertex> vertices, IEnumerable <Sector> sectors, IEnumerable <Thing> things, string comment = "", IEnumerable <UnknownProperty> unknownProperties = null, IEnumerable <UnknownBlock> unknownBlocks = null) { NameSpace = nameSpace; LineDefs.AddRange(lineDefs); SideDefs.AddRange(sideDefs); Vertices.AddRange(vertices); Sectors.AddRange(sectors); Things.AddRange(things); Comment = comment; UnknownProperties.AddRange(unknownProperties ?? Enumerable.Empty <UnknownProperty>()); UnknownBlocks.AddRange(unknownBlocks ?? Enumerable.Empty <UnknownBlock>()); AdditionalSemanticChecks(); }