mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-01-22 11:25:35 +01:00
No more hard-coded fixed size TileCollection. No more crashes because
you used a new tile.
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
package com.gpl.rpg.AndorsTrail.resource.tiles;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.LayerDrawable;
|
||||
import android.graphics.drawable.ScaleDrawable;
|
||||
import android.os.AsyncTask;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailPreferences;
|
||||
import com.gpl.rpg.AndorsTrail.context.WorldContext;
|
||||
import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionType;
|
||||
@@ -20,11 +21,11 @@ import com.gpl.rpg.AndorsTrail.model.item.Inventory;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemContainer;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemContainer.ItemEntry;
|
||||
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.*;
|
||||
import com.gpl.rpg.AndorsTrail.util.L;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.LayeredTileMap;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.MapObject;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator;
|
||||
|
||||
public final class TileManager {
|
||||
public static final int CHAR_HERO = 1;
|
||||
@@ -61,7 +62,7 @@ public final class TileManager {
|
||||
|
||||
|
||||
public final TileCache tileCache = new TileCache();
|
||||
public final TileCollection preloadedTiles = new TileCollection(118);
|
||||
public TileCollection preloadedTiles;// = new TileCollection(118);
|
||||
public TileCollection currentMapTiles;
|
||||
public TileCollection adjacentMapTiles;
|
||||
private final HashSet<Integer> preloadedTileIDs = new HashSet<Integer>();
|
||||
@@ -248,12 +249,13 @@ public final class TileManager {
|
||||
|
||||
public void loadPreloadedTiles(Resources r) {
|
||||
int maxTileID = tileCache.getMaxTileID();
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
if (maxTileID > preloadedTiles.maxTileID) {
|
||||
L.log("ERROR: TileManager.preloadedTiles needs to be initialized with at least " + maxTileID + " slots. Application will crash now.");
|
||||
throw new IndexOutOfBoundsException("ERROR: TileManager.preloadedTiles needs to be initialized with at least " + maxTileID + " slots. Application will crash now.");
|
||||
}
|
||||
}
|
||||
// if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
|
||||
// if (maxTileID > preloadedTiles.maxTileID) {
|
||||
// L.log("ERROR: TileManager.preloadedTiles needs to be initialized with at least " + maxTileID + " slots. Application will crash now.");
|
||||
// throw new IndexOutOfBoundsException("ERROR: TileManager.preloadedTiles needs to be initialized with at least " + maxTileID + " slots. Application will crash now.");
|
||||
// }
|
||||
// }
|
||||
preloadedTiles = new TileCollection(maxTileID);
|
||||
for(int i = TileManager.CHAR_HERO; i <= maxTileID; ++i) {
|
||||
preloadedTileIDs.add(i);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user