Method cleanup

This commit is contained in:
Anuken
2019-12-26 20:08:53 -05:00
parent c449302d28
commit 954e26fc14
16 changed files with 49 additions and 21 deletions

View File

@ -162,7 +162,7 @@ public class BlockIndexer{
/** Get all enemy blocks with a flag. */
public Array<Tile> getEnemy(Team team, BlockFlag type){
returnArray.clear();
for(Team enemy : state.teams.enemiesOf(team)){
for(Team enemy : team.enemies()){
if(state.teams.isActive(enemy)){
ObjectSet<Tile> set = getFlagged(enemy)[type.ordinal()];
if(set != null){

View File

@ -92,7 +92,7 @@ public class WaveSpawner{
if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam) && !state.teams.playerCores().isEmpty()){
TileEntity firstCore = state.teams.playerCores().first();
for(TileEntity core : state.teams.get(state.rules.waveTeam).cores){
for(TileEntity core : state.rules.waveTeam.cores()){
Tmp.v1.set(firstCore).sub(core.x, core.y).limit(coreMargin + core.block.size*tilesize);
cons.accept(core.x + Tmp.v1.x, core.y + Tmp.v1.y, false);
}

View File

@ -259,7 +259,7 @@ public class Damage{
for(int dx = -trad; dx <= trad; dx++){
for(int dy = -trad; dy <= trad; dy++){
Tile tile = world.tile(Math.round(x / tilesize) + dx, Math.round(y / tilesize) + dy);
if(tile != null && tile.entity != null && (team == null || state.teams.areEnemies(team, tile.getTeam())) && Mathf.dst(dx, dy) <= trad){
if(tile != null && tile.entity != null && (team == null ||team.isEnemy(tile.getTeam())) && Mathf.dst(dx, dy) <= trad){
tile.entity.damage(damage);
}
}

View File

@ -83,7 +83,7 @@ public class Units{
public static TileEntity findEnemyTile(Team team, float x, float y, float range, Boolf<Tile> pred){
if(team == Team.derelict) return null;
for(Team enemy : state.teams.enemiesOf(team)){
for(Team enemy : team.enemies()){
TileEntity entity = indexer.findTile(enemy, x, y, range, pred, true);
if(entity != null){
return entity;
@ -195,13 +195,13 @@ public class Units{
/** Iterates over all units that are enemies of this team. */
public static void nearbyEnemies(Team team, float x, float y, float width, float height, Cons<Unit> cons){
unitGroup.intersect(x, y, width, height, u -> {
if(state.teams.areEnemies(team, u.getTeam())){
if(team.isEnemy(u.getTeam())){
cons.get(u);
}
});
playerGroup.intersect(x, y, width, height, player -> {
if(state.teams.areEnemies(team, player.getTeam())){
if(team.isEnemy(player.getTeam())){
cons.get(player);
}
});

View File

@ -88,7 +88,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
if(isDead()) return false;
if(other instanceof DamageTrait){
return other instanceof TeamTrait && state.teams.areEnemies((((TeamTrait)other).getTeam()), team);
return other instanceof TeamTrait && (((TeamTrait)other).getTeam()).isEnemy(team);
}else{
return other instanceof Unit && ((Unit)other).isFlying() == isFlying();
}

View File

@ -1,10 +1,9 @@
package mindustry.entities.type.base;
import arc.*;
import arc.struct.*;
import arc.math.*;
import arc.struct.*;
import arc.util.*;
import mindustry.*;
import mindustry.entities.*;
import mindustry.entities.traits.*;
import mindustry.entities.type.*;
@ -187,7 +186,7 @@ public class BuilderDrone extends BaseDrone implements BuilderTrait{
}
if(timer.get(timerTarget, 80) && Units.closestEnemy(getTeam(), x, y, 100f, u -> !(u instanceof BaseDrone)) == null && !isBuilding()){
TeamData data = Vars.state.teams.get(team);
TeamData data = team.data();
if(!data.brokenBlocks.isEmpty()){
BrokenBlock block = data.brokenBlocks.removeLast();
if(Build.validPlace(getTeam(), block.x, block.y, content.block(block.block), block.rotation)){

View File

@ -237,15 +237,15 @@ public class GroundUnit extends BaseUnit{
protected void moveAwayFromCore(){
Team enemy = null;
for(Team team : Vars.state.teams.enemiesOf(team)){
if(Vars.state.teams.isActive(team)){
for(Team team : Vars.team.enemies()){
if(team.active()){
enemy = team;
break;
}
}
if(enemy == null){
for(Team team : Vars.state.teams.enemiesOf(team)){
for(Team team : Vars.team.enemies()){
enemy = team;
break;
}

View File

@ -2,8 +2,13 @@ package mindustry.game;
import arc.*;
import arc.graphics.*;
import arc.struct.*;
import arc.util.*;
import mindustry.game.Teams.*;
import mindustry.graphics.*;
import mindustry.world.blocks.storage.CoreBlock.*;
import static mindustry.Vars.*;
public class Team implements Comparable<Team>{
public final byte id;
@ -54,6 +59,30 @@ public class Team implements Comparable<Team>{
all[us] = this;
}
public Array<Team> enemies(){
return state.teams.enemiesOf(this);
}
public TeamData data(){
return state.teams.get(this);
}
public CoreEntity core(){
return data().core();
}
public boolean active(){
return state.teams.isActive(this);
}
public boolean isEnemy(Team other){
return state.teams.areEnemies(this, other);
}
public Array<CoreEntity> cores(){
return state.teams.cores(this);
}
public String localized(){
return Core.bundle.get("team." + name + ".name", name);
}

View File

@ -161,7 +161,7 @@ public class Teams{
return cores.isEmpty();
}
public TileEntity core(){
public CoreEntity core(){
return cores.first();
}
}

View File

@ -271,7 +271,7 @@ public class Tutorial{
}
static int item(Item item){
return state.teams.get(state.rules.defaultTeam).noCores() ? 0 : state.teams.playerCores().first().items.get(item);
return state.rules.defaultTeam.data().noCores() ? 0 : state.rules.defaultTeam.core().items.get(item);
}
static boolean toggled(String name){

View File

@ -402,7 +402,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
}
for(BrokenBlock req : state.teams.get(player.getTeam()).brokenBlocks){
for(BrokenBlock req : player.getTeam().data().brokenBlocks){
Block block = content.block(req.block);
if(block.bounds(req.x, req.y, Tmp.r2).overlaps(Tmp.r1)){
drawSelected(req.x, req.y, content.block(req.block), Pal.remove);

View File

@ -77,7 +77,7 @@ public class MobileInput extends InputHandler implements GestureListener{
}else{
Tile tile = world.ltileWorld(x, y);
if(tile != null && tile.synthetic() && state.teams.areEnemies(player.getTeam(), tile.getTeam())){
if(tile != null && tile.synthetic() && player.getTeam().isEnemy(tile.getTeam())){
TileEntity entity = tile.entity;
player.setMineTile(null);
player.target = entity;

View File

@ -259,7 +259,7 @@ public abstract class SaveVersion extends SaveFileReader{
int teamc = stream.readInt();
for(int i = 0; i < teamc; i++){
Team team = Team.get(stream.readInt());
TeamData data = state.teams.get(team);
TeamData data = team.data();
int blocks = stream.readInt();
for(int j = 0; j < blocks; j++){
data.brokenBlocks.addLast(new BrokenBlock(stream.readShort(), stream.readShort(), stream.readShort(), content.block(stream.readShort()).id, stream.readInt()));

View File

@ -39,7 +39,7 @@ public class ItemsDisplay extends Table{
private String format(Item item){
builder.setLength(0);
builder.append(ui.formatAmount(data.items().get(item, 0)));
if(!state.is(State.menu) && state.teams.get(player.getTeam()).hasCore() && state.teams.get(player.getTeam()).core().items.get(item) > 0){
if(!state.is(State.menu) && player.getTeam().data().hasCore() && player.getTeam().core().items.get(item) > 0){
builder.append(" [unlaunched]+ ");
builder.append(ui.formatAmount(state.teams.get(player.getTeam()).core().items.get(item)));
}

View File

@ -64,7 +64,7 @@ public class SStats implements SteamUserStatsCallback{
active50Crawlers.complete();
}
for(TileEntity entity : state.teams.get(player.getTeam()).cores){
for(TileEntity entity : player.getTeam().cores()){
if(!content.items().contains(i -> i.type == ItemType.material && entity.items.get(i) < entity.block.itemCapacity)){
fillCoreAllCampaign.complete();
break;

View File

@ -1,3 +1,3 @@
org.gradle.daemon=true
org.gradle.jvmargs=-Xms256m -Xmx1024m
archash=44e060c9f2bf11eb7e41f79d967fdfeca9f8b62a
archash=29782072a3c824715118f51ebe23c189ba0d9597