Auto-destruction of enemies after attack sector capture

This commit is contained in:
Anuken
2020-11-15 18:59:23 -05:00
parent 7bd05ad9ad
commit a172c12e5d
5 changed files with 50 additions and 16 deletions
+16 -12
View File
@@ -56,18 +56,7 @@ public class BlockIndexer{
public BlockIndexer(){
Events.on(TileChangeEvent.class, event -> {
if(typeMap.get(event.tile.pos()) != null){
TileIndex index = typeMap.get(event.tile.pos());
for(BlockFlag flag : index.flags){
getFlagged(index.team)[flag.ordinal()].remove(event.tile);
}
if(index.flags.contains(BlockFlag.unitModifier)){
updateCap(index.team);
}
}
process(event.tile);
updateQuadrant(event.tile);
updateIndices(event.tile);
});
Events.on(WorldLoadEvent.class, event -> {
@@ -111,6 +100,21 @@ public class BlockIndexer{
});
}
public void updateIndices(Tile tile){
if(typeMap.get(tile.pos()) != null){
TileIndex index = typeMap.get(tile.pos());
for(BlockFlag flag : index.flags){
getFlagged(index.team)[flag.ordinal()].remove(tile);
}
if(index.flags.contains(BlockFlag.unitModifier)){
updateCap(index.team);
}
}
process(tile);
updateQuadrant(tile);
}
private TileArray[] getFlagged(Team team){
return flagMap[team.id];
}