public static void Update(GameEngine engine, GameTime gameTime, ClientMap map) { for (int i = 0; i < map.Width * map.Height; i++) { MapTileRenderer.Update(engine, gameTime, map[i]); } }
public static void Render(GameEngine engine, GraphicsRenderer renderer, ClientMap map, GameTime gameTime) { Dictionary <int, List <CoreAbstractEntity> > sortedEntities = GetEntitiesByTilePosition(map); (ClientMapTile tile, Vector2 position) = GetHighlightedTile(engine, map); renderer.Start(); for (int i = 0; i < map.Width * map.Height; ++i) { int tileX = i % map.Width; int tileY = i / map.Width; float drawX = tileX * ClientMapTile.TILE_WIDTH; float drawY = tileY * ClientMapTile.TILE_HEIGHT; MapTileRenderer.Render(engine, renderer, gameTime, map[i], drawX, drawY); if (tile != null && tileX == (int)position.X && tileY == (int)position.Y) { renderer.Render(AssetRegistry.TILE_SELECTION, drawX, drawY); } if (sortedEntities.ContainsKey(i)) { RenderEntities(engine, renderer, gameTime, sortedEntities[i], map[i], drawX, drawY); } } renderer.Finish(); }