TeamEntry class implementation

This commit is contained in:
Anuken 2021-12-03 10:28:34 -05:00
parent 8168d8a3be
commit 9c9d147b95
10 changed files with 40 additions and 6 deletions

View File

@ -141,7 +141,7 @@ public class EntityProcess extends BaseProcessor{
//getter //getter
if(!signatures.contains(cname + "()")){ if(!signatures.contains(cname + "()")){
inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC) inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
.addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null")).map(AnnotationSpec::get)) .addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null") || a.toString().contains("Deprecated")).map(AnnotationSpec::get))
.addJavadoc(field.doc() == null ? "" : field.doc()) .addJavadoc(field.doc() == null ? "" : field.doc())
.returns(field.tname()).build()); .returns(field.tname()).build());
} }
@ -153,7 +153,7 @@ public class EntityProcess extends BaseProcessor{
.addJavadoc(field.doc() == null ? "" : field.doc()) .addJavadoc(field.doc() == null ? "" : field.doc())
.addParameter(ParameterSpec.builder(field.tname(), field.name()) .addParameter(ParameterSpec.builder(field.tname(), field.name())
.addAnnotations(Seq.with(field.annotations()) .addAnnotations(Seq.with(field.annotations())
.select(a -> a.toString().contains("Null")).map(AnnotationSpec::get)).build()).build()); .select(a -> a.toString().contains("Null") || a.toString().contains("Deprecated")).map(AnnotationSpec::get)).build()).build());
} }
} }

View File

@ -1074,6 +1074,7 @@ content.unit.name = Units
content.block.name = Blocks content.block.name = Blocks
content.status.name = Status Effects content.status.name = Status Effects
content.sector.name = Sectors content.sector.name = Sectors
content.team.name = Factions
item.copper.name = Copper item.copper.name = Copper
item.lead.name = Lead item.lead.name = Lead

View File

@ -1056,7 +1056,7 @@ public class Blocks{
iconOverride = new String[]{"-bottom", "", "-top1"}; iconOverride = new String[]{"-bottom", "", "-top1"};
drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidRegion(), new DrawBlock(), new DrawHeatOutput()); drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidRegion(), new DrawBlock(), new DrawHeatOutput());
craftTime = 60f * 4f; craftTime = 60f * 3f;
liquidCapacity = 30f; liquidCapacity = 30f;
heatOutput = 5f; heatOutput = 5f;
}}; }};
@ -1248,6 +1248,7 @@ public class Blocks{
}}; }};
//TODO needs to be completely redone from the ground up //TODO needs to be completely redone from the ground up
if(false)
cellSynthesisChamber = new LiquidConverter("cell-synthesis-chamber"){{ cellSynthesisChamber = new LiquidConverter("cell-synthesis-chamber"){{
//TODO booster mechanics? //TODO booster mechanics?
requirements(Category.crafting, with(Items.thorium, 100, Items.phaseFabric, 120, Items.titanium, 150, Items.surgeAlloy, 70)); requirements(Category.crafting, with(Items.thorium, 100, Items.phaseFabric, 120, Items.titanium, 150, Items.surgeAlloy, 70));

View File

@ -0,0 +1,13 @@
package mindustry.content;
public class TeamEntries{
public static void load(){
//more will be added later - do these need references?
//TODO
//new TeamEntry(Team.derelict);
//new TeamEntry(Team.sharded);
//new TeamEntry(Team.crux);
}
}

View File

@ -40,6 +40,7 @@ public class ContentLoader{
/** Creates all base types. */ /** Creates all base types. */
public void createBaseContent(){ public void createBaseContent(){
TeamEntries.load();
Items.load(); Items.load();
StatusEffects.load(); StatusEffects.load();
Liquids.load(); Liquids.load();

View File

@ -3,6 +3,7 @@ package mindustry.ctype;
import arc.*; import arc.*;
import arc.func.*; import arc.func.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.scene.ui.layout.*;
import arc.util.*; import arc.util.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.content.TechTree.*; import mindustry.content.TechTree.*;
@ -88,6 +89,11 @@ public abstract class UnlockableContent extends MappableContent{
public void setStats(){ public void setStats(){
} }
/** Display any extra info after details. */
public void displayExtra(Table table){
}
/** /**
* Generate any special icons for this content. Called synchronously. * Generate any special icons for this content. Called synchronously.
* No regions are loaded at this point; grab pixmaps from the packer. * No regions are loaded at this point; grab pixmaps from the packer.

View File

@ -14,7 +14,11 @@ import mindustry.game.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.type.*; import mindustry.type.*;
/** A unit that can command other units. */ /**
* A unit that can command other units.
* @deprecated This mechanic is likely to be removed or completely reworked in the future.
* */
@Deprecated
@Component @Component
abstract class CommanderComp implements Entityc, Posc{ abstract class CommanderComp implements Entityc, Posc{
private static final Seq<FormationMember> members = new Seq<>(); private static final Seq<FormationMember> members = new Seq<>();

View File

@ -241,7 +241,7 @@ public class ErekirPlanetGenerator extends PlanetGenerator{
Schematics.placeLaunchLoadout(spawnX, spawnY); Schematics.placeLaunchLoadout(spawnX, spawnY);
//TODO this is only for testing //TODO this is only for testing
state.rules.defaultTeam.items().add(Seq.with(ItemStack.with(Items.beryllium, 200, Items.graphite, 200))); state.rules.defaultTeam.items().add(Seq.with(ItemStack.with(Items.beryllium, 300, Items.graphite, 300)));
//TODO proper waves //TODO proper waves
state.rules.waves = !OS.hasProp("mindustry.debug"); state.rules.waves = !OS.hasProp("mindustry.debug");

View File

@ -1,10 +1,11 @@
package mindustry.type; package mindustry.type;
import arc.scene.ui.layout.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.game.*; import mindustry.game.*;
/** This class is only for displaying team lore in the content database. */ /** This class is only for displaying team lore in the content database. */
//TODO //TODO more stuff, make unlockable, don't display in campaign at all
public class TeamEntry extends UnlockableContent{ public class TeamEntry extends UnlockableContent{
public final Team team; public final Team team;
@ -13,6 +14,11 @@ public class TeamEntry extends UnlockableContent{
this.team = team; this.team = team;
} }
@Override
public void displayExtra(Table table){
table.add("@team." + name + ".log").pad(6).padTop(20).width(400f).wrap().fillX();
}
@Override @Override
public ContentType getContentType(){ public ContentType getContentType(){
return ContentType.team; return ContentType.team;

View File

@ -85,6 +85,8 @@ public class ContentInfoDialog extends BaseDialog{
table.row(); table.row();
} }
content.displayExtra(table);
ScrollPane pane = new ScrollPane(table); ScrollPane pane = new ScrollPane(table);
cont.add(pane); cont.add(pane);