Reduced reflection usage / Improved event system

This commit is contained in:
Anuken
2018-08-31 16:14:14 -04:00
parent 522e19d4bf
commit 5cb50d57ec
24 changed files with 95 additions and 85 deletions

View File

@@ -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
}
});

View File

@@ -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

View File

@@ -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);
}
}));
}

View File

@@ -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(){