public void Compile() { using (var stream = Manifest.OpenText()) { string line = null; while ((line = stream.ReadLine()) != null) { var splitLine = line.Split(','); var tileType = splitLine[0]; if (tileType == _tileType_monster) { MonsterCompiler.CompileOne(splitLine); } else if (tileType == _tileType_object) { ObjectCompiler.CompileOne(splitLine); } else if (tileType == _tileType_artifact) { ArtifactCompiler.CompileOne(splitLine); } else if (tileType == _tileType_cmap) { CmapCompiler.CompileOne(splitLine); } else if (tileType == _tileType_misc) { MiscCompiler.CompileOne(splitLine); } else if (tileType == _tileType_player) { PlayerCompiler.CompileOne(splitLine); } else if (tileType == _tileType_cmap_variation) { CmapVariationCompiler.CompileOne(splitLine); } else if (tileType == _tileType_UI) { UICompiler.CompileOne(splitLine); } else if (tileType == _tileType_animation) { AnimationCompiler.CompileOne(splitLine); } else if (tileType == _tileType_enlargement) { EnlargementCompiler.CompileOne(splitLine); } else if (tileType == _tileType_replacement) { ReplacementCompiler.CompileOne(splitLine); } else if (tileType == _tileType_broken_cmap) { BrokenCmapCompiler.CompileOne(splitLine); } else if (tileType == _tileType_broken_cmap_variation) { BrokenCmapVariationCompiler.CompileOne(splitLine); } else { throw new Exception(string.Format("Unknown tile type '{0}' in line '{1}'.", tileType, line)); } } // Close Manifest Steram stream.Close(); } }