package net.alcuria.umbracraft.engine.screens;
import net.alcuria.umbracraft.Game;
import net.alcuria.umbracraft.definitions.area.AreaDefinition;
import net.alcuria.umbracraft.definitions.area.AreaNodeDefinition;
import net.alcuria.umbracraft.definitions.map.MapDefinition;
/** A collection of utility functions for the {@link WorldScreen}
* @author Andrew Keturi */
public final class WorldUtils {
/** Reads in the starting area/node from the db and fetches the
* {@link MapDefinition} name to use.
* @return the starting map name {@link String} */
static String getStartingMapName() {
final String startingArea = Game.db().config().startingArea;
final String startingNode = Game.db().config().startingNode;
final AreaDefinition areaDefinition = Game.db().area(startingArea);
if (areaDefinition != null) {
final AreaNodeDefinition areaNodeDefinition = areaDefinition.find(areaDefinition.root, startingNode);
if (areaNodeDefinition != null) {
return areaNodeDefinition.mapDefinition;
}
}
Game.error("Starting map was not found");
return null;
}
}