Add possibility to reset cached maps
This commit is contained in:
@@ -79,6 +79,8 @@ public interface Context extends Updatable, Renderable, Disposable {
|
|||||||
|
|
||||||
boolean togglePause();
|
boolean togglePause();
|
||||||
|
|
||||||
|
void resetMaps();
|
||||||
|
|
||||||
<E extends Event> void fireEvent(E event);
|
<E extends Event> void fireEvent(E event);
|
||||||
|
|
||||||
<E extends Event> void addEventListener(EventType<E> type, Consumer<E> listener);
|
<E extends Event> void addEventListener(EventType<E> type, Consumer<E> listener);
|
||||||
|
|||||||
@@ -276,6 +276,12 @@ public class DefaultContext implements Context {
|
|||||||
return this.paused;
|
return this.paused;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resetMaps() {
|
||||||
|
log.info("Resetting maps");
|
||||||
|
mapManager.resetMaps();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <E extends Event> void addEventListener(EventType<E> type, Consumer<E> listener) {
|
public <E extends Event> void addEventListener(EventType<E> type, Consumer<E> listener) {
|
||||||
eventHandler.addListener(type, listener);
|
eventHandler.addListener(type, listener);
|
||||||
|
|||||||
@@ -110,4 +110,16 @@ public class DefaultMapManager implements MapManager {
|
|||||||
|
|
||||||
return handler;
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resetMaps() {
|
||||||
|
log.info("Removing maps and map handlers from cache");
|
||||||
|
|
||||||
|
var mapsSize = maps.size();
|
||||||
|
var handlersSize = handlers.size();
|
||||||
|
maps.clear();
|
||||||
|
handlers.clear();
|
||||||
|
|
||||||
|
log.info("Removed {} maps and {} map handlers from cache", mapsSize, handlersSize);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,4 +9,6 @@ import com.bartlomiejpluta.base.internal.gc.Cleanable;
|
|||||||
|
|
||||||
public interface MapManager extends AssetManager<GameMapAsset, DefaultGameMap>, Cleanable {
|
public interface MapManager extends AssetManager<GameMapAsset, DefaultGameMap>, Cleanable {
|
||||||
MapHandler loadHandler(Context context, String mapUid);
|
MapHandler loadHandler(Context context, String mapUid);
|
||||||
|
|
||||||
|
void resetMaps();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user