Search in sources :

Example 6 with IMap

use of de.gurkenlabs.litiengine.environment.tilemap.IMap in project litiengine by gurkenlabs.

the class EnvironmentTests method initEnvironment.

@BeforeEach
public void initEnvironment() {
    IMap map = mock(IMap.class);
    when(map.getSizeInPixels()).thenReturn(new Dimension(100, 100));
    when(map.getSizeInTiles()).thenReturn(new Dimension(10, 10));
    this.testEnvironment = new Environment(map);
    this.testEnvironment.init();
}
Also used : IMap(de.gurkenlabs.litiengine.environment.tilemap.IMap) Dimension(java.awt.Dimension) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 7 with IMap

use of de.gurkenlabs.litiengine.environment.tilemap.IMap in project litiengine by gurkenlabs.

the class Game method load.

public static void load(final String gameResourceFile) {
    final GameData file = GameData.load(gameResourceFile);
    if (file == null) {
        return;
    }
    int mapCnt = 0;
    for (final IMap m : file.getMaps()) {
        if (getMaps().stream().anyMatch(x -> x.getFileName().equals(m.getFileName()))) {
            continue;
        }
        getMaps().add(m);
        mapCnt++;
    }
    log.log(Level.INFO, "{0} maps loaded from {1}", new Object[] { mapCnt, gameResourceFile });
    int tileCnt = 0;
    for (final ITileset tileset : file.getTilesets()) {
        if (getTilesets().stream().anyMatch(x -> x.getName().equals(tileset.getName()))) {
            continue;
        }
        getTilesets().add(tileset);
        tileCnt++;
    }
    log.log(Level.INFO, "{0} tilesets loaded from {1}", new Object[] { tileCnt, gameResourceFile });
    final List<Spritesheet> loadedSprites = new ArrayList<>();
    for (final SpriteSheetInfo tileset : file.getSpriteSheets()) {
        final Spritesheet sprite = Spritesheet.load(tileset);
        loadedSprites.add(sprite);
    }
    log.log(Level.INFO, "{0} spritesheets loaded from {1}", new Object[] { loadedSprites.size(), gameResourceFile });
    int spriteload = 0;
    for (final Spritesheet s : loadedSprites) {
        for (int i = 0; i < s.getRows() * s.getColumns(); i++) {
            BufferedImage sprite = s.getSprite(i);
            if (sprite != null) {
                spriteload++;
            }
        }
    }
    log.log(Level.INFO, "{0} sprites loaded to memory", new Object[] { spriteload });
}
Also used : IMap(de.gurkenlabs.litiengine.environment.tilemap.IMap) ITileset(de.gurkenlabs.litiengine.environment.tilemap.ITileset) Spritesheet(de.gurkenlabs.litiengine.graphics.Spritesheet) ArrayList(java.util.ArrayList) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) BufferedImage(java.awt.image.BufferedImage)

Aggregations

IMap (de.gurkenlabs.litiengine.environment.tilemap.IMap)7 Dimension (java.awt.Dimension)3 BufferedImage (java.awt.image.BufferedImage)3 Point (java.awt.Point)2 Point2D (java.awt.geom.Point2D)2 Rectangle2D (java.awt.geom.Rectangle2D)2 BeforeEach (org.junit.jupiter.api.BeforeEach)2 ITileset (de.gurkenlabs.litiengine.environment.tilemap.ITileset)1 Spritesheet (de.gurkenlabs.litiengine.graphics.Spritesheet)1 Graphics2D (java.awt.Graphics2D)1 ArrayList (java.util.ArrayList)1 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)1 Test (org.junit.jupiter.api.Test)1 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)1