Prefer Team#data() for team data

This commit is contained in:
Anuken
2021-06-07 15:04:45 -04:00
parent f4db208d75
commit 0582cfac2b
11 changed files with 12 additions and 14 deletions

View File

@@ -156,7 +156,7 @@ public class WaveSpawner{
} }
if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam)){ if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam)){
for(Building core : state.teams.get(state.rules.waveTeam).cores){ for(Building core : state.rules.waveTeam.data().cores){
cons.get(core.x, core.y); cons.get(core.x, core.y);
} }
} }

View File

@@ -209,7 +209,7 @@ public class SoundControl{
/** Whether to play dark music.*/ /** Whether to play dark music.*/
protected boolean isDark(){ protected boolean isDark(){
if(state.teams.get(player.team()).hasCore() && state.teams.get(player.team()).core().healthf() < 0.85f){ if(player.team().data().hasCore() && player.team().data().core().healthf() < 0.85f){
//core damaged -> dark //core damaged -> dark
return true; return true;
} }

View File

@@ -43,7 +43,7 @@ public class Logic implements ApplicationListener{
Events.on(BlockBuildEndEvent.class, event -> { Events.on(BlockBuildEndEvent.class, event -> {
if(!event.breaking){ if(!event.breaking){
TeamData data = state.teams.get(event.team); TeamData data = event.team.data();
Iterator<BlockPlan> it = data.blocks.iterator(); Iterator<BlockPlan> it = data.blocks.iterator();
while(it.hasNext()){ while(it.hasNext()){
BlockPlan b = it.next(); BlockPlan b = it.next();

View File

@@ -457,7 +457,7 @@ public class NetClient implements ApplicationListener{
int teams = input.readUnsignedByte(); int teams = input.readUnsignedByte();
for(int i = 0; i < teams; i++){ for(int i = 0; i < teams; i++){
int team = input.readUnsignedByte(); int team = input.readUnsignedByte();
TeamData data = state.teams.get(Team.all[team]); TeamData data = Team.all[team].data();
if(data.cores.any()){ if(data.cores.any()){
data.cores.first().items.read(dataReads); data.cores.first().items.read(dataReads);
}else{ }else{

View File

@@ -6,7 +6,6 @@ import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
import arc.math.geom.Geometry.*; import arc.math.geom.Geometry.*;
import arc.struct.*; import arc.struct.*;
import arc.struct.ObjectIntMap.*;
import arc.util.*; import arc.util.*;
import arc.util.noise.*; import arc.util.noise.*;
import mindustry.content.*; import mindustry.content.*;
@@ -21,7 +20,6 @@ import mindustry.maps.*;
import mindustry.maps.filters.*; import mindustry.maps.filters.*;
import mindustry.maps.filters.GenerateFilter.*; import mindustry.maps.filters.GenerateFilter.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.type.Weather.*;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.blocks.environment.*; import mindustry.world.blocks.environment.*;
import mindustry.world.blocks.legacy.*; import mindustry.world.blocks.legacy.*;
@@ -336,7 +334,7 @@ public class World{
ui.showErrorMessage("@map.nospawn.pvp"); ui.showErrorMessage("@map.nospawn.pvp");
} }
}else if(checkRules.attackMode){ //attack maps need two cores to be valid }else if(checkRules.attackMode){ //attack maps need two cores to be valid
invalidMap = state.teams.get(state.rules.waveTeam).noCores(); invalidMap = state.rules.waveTeam.data().noCores();
if(invalidMap){ if(invalidMap){
ui.showErrorMessage("@map.nospawn.attack"); ui.showErrorMessage("@map.nospawn.attack");
} }

View File

@@ -222,7 +222,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
} }
} }
TeamData data = state.teams.get(team); TeamData data = team.data();
if(checkPrevious){ if(checkPrevious){
//remove existing blocks that have been placed here. //remove existing blocks that have been placed here.

View File

@@ -194,7 +194,7 @@ public class BlockRenderer{
} }
if(brokenFade > 0.001f){ if(brokenFade > 0.001f){
for(BlockPlan block : state.teams.get(player.team()).blocks){ for(BlockPlan block : player.team().data().blocks){
Block b = content.block(block.block); Block b = content.block(block.block);
if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset, block.y * tilesize + b.offset))) continue; if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset, block.y * tilesize + b.offset))) continue;

View File

@@ -133,7 +133,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
public static void deletePlans(Player player, int[] positions){ public static void deletePlans(Player player, int[] positions){
if(netServer.admins.allowAction(player, ActionType.removePlanned, a -> a.plans = positions)){ if(netServer.admins.allowAction(player, ActionType.removePlanned, a -> a.plans = positions)){
var it = state.teams.get(player.team()).blocks.iterator(); var it = player.team().data().blocks.iterator();
//O(n^2) search here; no way around it //O(n^2) search here; no way around it
outer: outer:
while(it.hasNext()){ while(it.hasNext()){
@@ -885,7 +885,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
removed.clear(); removed.clear();
//remove blocks to rebuild //remove blocks to rebuild
Iterator<BlockPlan> broken = state.teams.get(player.team()).blocks.iterator(); Iterator<BlockPlan> broken = player.team().data().blocks.iterator();
while(broken.hasNext()){ while(broken.hasNext()){
BlockPlan req = broken.next(); BlockPlan req = broken.next();
Block block = content.block(req.block); Block block = content.block(req.block);

View File

@@ -286,7 +286,7 @@ public class HudFragment extends Fragment{
.update(label -> label.color.set(Color.orange).lerp(Color.scarlet, Mathf.absin(Time.time, 2f, 1f))), true, .update(label -> label.color.set(Color.orange).lerp(Color.scarlet, Mathf.absin(Time.time, 2f, 1f))), true,
() -> { () -> {
if(!shown || state.isPaused()) return false; if(!shown || state.isPaused()) return false;
if(state.isMenu() || !state.teams.get(player.team()).hasCore()){ if(state.isMenu() || !player.team().data().hasCore()){
coreAttackTime[0] = 0f; coreAttackTime[0] = 0f;
return false; return false;
} }

View File

@@ -739,7 +739,7 @@ public class ApplicationTests{
core.build.items.set(item, 3000); core.build.items.set(item, 3000);
} }
assertEquals(core.build, state.teams.get(Team.sharded).core()); assertEquals(core.build, Team.sharded.data().core());
} }
void depositTest(Block block, Item item){ void depositTest(Block block, Item item){

View File

@@ -96,7 +96,7 @@ public class SectorTests{
assertTrue(Team.sharded.core().items.total() < 1000, "Sector must not have starting resources: " + zone); assertTrue(Team.sharded.core().items.total() < 1000, "Sector must not have starting resources: " + zone);
assertTrue(hasSpawnPoint, "Sector \"" + zone.name + "\" has no spawn points."); assertTrue(hasSpawnPoint, "Sector \"" + zone.name + "\" has no spawn points.");
assertTrue(spawner.countSpawns() > 0 || (state.rules.attackMode && state.teams.get(state.rules.waveTeam).hasCore()), "Sector \"" + zone.name + "\" has no enemy spawn points: " + spawner.countSpawns()); assertTrue(spawner.countSpawns() > 0 || (state.rules.attackMode && state.rules.waveTeam.data().hasCore()), "Sector \"" + zone.name + "\" has no enemy spawn points: " + spawner.countSpawns());
})); }));
} }