Search in sources :

Example 1 with MapManifest

use of pl.themolka.arcade.map.MapManifest in project Arcade2 by ShootGame.

the class SimpleGameManager method createGame.

@Override
public Game createGame(OfflineMap map) throws DOMException, IOException {
    File file = map.getSettings();
    DOMEngine engine = this.plugin.getDomEngines().forFile(file);
    Parser<MapManifest> parser;
    try {
        parser = this.plugin.getParsers().forType(MapManifest.class);
    } catch (ParserNotSupportedException ex) {
        throw new RuntimeException("No " + MapManifest.class.getSimpleName() + " parser installed");
    }
    Document document = engine.read(file);
    this.plugin.getDomPreprocessor().preprocess(document);
    ArcadeMap realMap = new ArcadeMap(map, parser.parse(document).orFail());
    WorldNameGenerator worldNameGenerator = new WorldNameGenerator(map);
    realMap.setWorldName(worldNameGenerator.nextWorldName());
    return this.createGame(realMap);
}
Also used : DOMEngine(pl.themolka.arcade.dom.engine.DOMEngine) WorldNameGenerator(pl.themolka.arcade.map.WorldNameGenerator) ArcadeMap(pl.themolka.arcade.map.ArcadeMap) MapManifest(pl.themolka.arcade.map.MapManifest) Document(pl.themolka.arcade.dom.Document) File(java.io.File) ParserNotSupportedException(pl.themolka.arcade.parser.ParserNotSupportedException)

Aggregations

File (java.io.File)1 Document (pl.themolka.arcade.dom.Document)1 DOMEngine (pl.themolka.arcade.dom.engine.DOMEngine)1 ArcadeMap (pl.themolka.arcade.map.ArcadeMap)1 MapManifest (pl.themolka.arcade.map.MapManifest)1 WorldNameGenerator (pl.themolka.arcade.map.WorldNameGenerator)1 ParserNotSupportedException (pl.themolka.arcade.parser.ParserNotSupportedException)1