public LevelSettings Clone() { LevelSettings result = (LevelSettings)MemberwiseClone(); result.Wads = Wads.ConvertAll(wad => wad.Clone()); result.WadSoundPaths = WadSoundPaths.ConvertAll(soundPath => soundPath.Clone()); result.SoundsCatalogs = SoundsCatalogs.ConvertAll(catalog => catalog.Clone()); result.Textures = Textures.ConvertAll(texture => (LevelTexture)texture.Clone()); result.AnimatedTextureSets = AnimatedTextureSets.ConvertAll(set => set.Clone()); result.ImportedGeometries = ImportedGeometries.ConvertAll(geometry => geometry.Clone()); result.AutoStaticMeshMerges = AutoStaticMeshMerges.ConvertAll(entry => entry.Clone()); return(result); }