def __init__(self, levelName, inputStr, tileSetsPath): TiledMapWrapper.__init__(self, inputStr, tileSetsPath) assert os.path.exists(tileSetsPath) self.playerLayer = None self.name = levelName self.calculateLevelDimensions() self.gravity = self.getMapGravity() self.playerFacing = self.getPlayerStartingDir() #~ self.extractLayerData() #~ self.navMesh = maptools.MeshMaker.generateMesh(self) #~ self.parseObjectLayers() # for debugging: #~ self.renderCount = 0 assert self.playerLayer
def parseLevelToSimulator(levelName, inputStr, tileSetsPath): ''' Parses the tmx file and returns a Simulator object. ''' map = TiledMapWrapper(inputStr, tileSetsPath) print 'Parsed', levelName, '|', inputStr, '|', tileSetsPath gameLayers = TMXParser._createGameLayers(map) worldSize = CWorldSize(map.getWidth(), map.getHeight()) gravity = int(map.getMapProperty( TMXParser.MAP_GRAVITY_PROPERTY, None)) assert gravity, '%s' % ( 'Failed to parse map gravity.' ' Please ensure the "gravity" property is set in the' ' Tiled (tmx) file.') from simulator import WorldSimulator return WorldSimulator( levelName, gravity, worldSize, gameLayers, map.render)