Reduced reflection usage / Improved event system
This commit is contained in:
@@ -40,18 +40,18 @@ public class BlockRenderer{
|
||||
requests.set(i, new BlockRequest());
|
||||
}
|
||||
|
||||
Events.on(WorldLoadGraphicsEvent.class, () -> {
|
||||
Events.on(WorldLoadGraphicsEvent.class, event -> {
|
||||
lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated
|
||||
});
|
||||
|
||||
Events.on(TileChangeEvent.class, tile -> {
|
||||
Events.on(TileChangeEvent.class, event -> {
|
||||
threads.runGraphics(() -> {
|
||||
int avgx = Mathf.scl(camera.position.x, tilesize);
|
||||
int avgy = Mathf.scl(camera.position.y, tilesize);
|
||||
int rangex = (int) (camera.viewportWidth * camera.zoom / tilesize / 2) + 2;
|
||||
int rangey = (int) (camera.viewportHeight * camera.zoom / tilesize / 2) + 2;
|
||||
|
||||
if(Math.abs(avgx - tile.x) <= rangex && Math.abs(avgy - tile.y) <= rangey){
|
||||
if(Math.abs(avgx - event.tile.x) <= rangex && Math.abs(avgy - event.tile.y) <= rangey){
|
||||
lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated
|
||||
}
|
||||
});
|
||||
|
||||
@@ -42,7 +42,7 @@ public class FloorRenderer{
|
||||
private IntArray drawnLayers = new IntArray();
|
||||
|
||||
public FloorRenderer(){
|
||||
Events.on(WorldLoadGraphicsEvent.class, this::clearTiles);
|
||||
Events.on(WorldLoadGraphicsEvent.class, event -> clearTiles());
|
||||
|
||||
gutterTile = new Tile(0, 0){
|
||||
@Override
|
||||
|
||||
@@ -40,7 +40,7 @@ public class FogRenderer implements Disposable{
|
||||
private boolean dirty;
|
||||
|
||||
public FogRenderer(){
|
||||
Events.on(WorldLoadGraphicsEvent.class, () -> {
|
||||
Events.on(WorldLoadGraphicsEvent.class, event -> {
|
||||
dispose();
|
||||
|
||||
padding = world.getSector() != null ? mapPadding + extraPadding : 0;
|
||||
@@ -66,9 +66,9 @@ public class FogRenderer implements Disposable{
|
||||
dirty = true;
|
||||
});
|
||||
|
||||
Events.on(TileChangeEvent.class, tile -> threads.runGraphics(() -> {
|
||||
if(tile.getTeam() == players[0].getTeam() && tile.block().synthetic() && tile.block().viewRange > 0){
|
||||
changeQueue.add(tile);
|
||||
Events.on(TileChangeEvent.class, event -> threads.runGraphics(() -> {
|
||||
if(event.tile.getTeam() == players[0].getTeam() && event.tile.block().synthetic() && event.tile.block().viewRange > 0){
|
||||
changeQueue.add(event.tile);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -39,13 +39,13 @@ public class MinimapRenderer implements Disposable{
|
||||
private int zoom = 4;
|
||||
|
||||
public MinimapRenderer(){
|
||||
Events.on(WorldLoadGraphicsEvent.class, () -> {
|
||||
Events.on(WorldLoadGraphicsEvent.class, event -> {
|
||||
reset();
|
||||
updateAll();
|
||||
});
|
||||
|
||||
//make sure to call on the graphics thread
|
||||
Events.on(TileChangeEvent.class, tile -> Gdx.app.postRunnable(() -> update(tile)));
|
||||
Events.on(TileChangeEvent.class, event -> Gdx.app.postRunnable(() -> update(event.tile)));
|
||||
}
|
||||
|
||||
public Texture getTexture(){
|
||||
|
||||
Reference in New Issue
Block a user