Better tree layout

This commit is contained in:
Anuken
2020-07-25 10:25:48 -04:00
parent 20077738d2
commit b180462c45
2 changed files with 87 additions and 84 deletions

View File

@ -73,6 +73,12 @@ public class TechTree implements ContentList{
});
});
node(coreFoundation, () -> {
node(coreNucleus, () -> {
});
});
node(mechanicalDrill, () -> {
node(mechanicalPump, () -> {
@ -255,85 +261,38 @@ public class TechTree implements ContentList{
});
});
});
});
});
});
node(groundFactory, () -> {
node(dagger, () -> {
node(mace, () -> {
node(fortress, () -> {
node(duo, () -> {
node(copperWall, () -> {
node(copperWallLarge, () -> {
node(titaniumWall, () -> {
node(titaniumWallLarge);
});
});
node(door, () -> {
node(doorLarge);
});
node(plastaniumWall, () -> {
node(plastaniumWallLarge, () -> {
node(nova, () -> {
node(pulsar, () -> {
node(quasar, () -> {
});
});
});
node(crawler, () -> {
node(atrax, () -> {
node(spiroct, () -> {
});
});
});
});
node(airFactory, () -> {
node(flare, () -> {
node(horizon, () -> {
node(zenith, () -> {
node(antumbra, () -> {
node(eclipse, () -> {
});
});
});
});
node(mono, () -> {
node(poly, () -> {
node(mega, () -> {
});
});
});
});
node(navalFactory, () -> {
node(risso, () -> {
node(minke, () -> {
node(bryde, () -> {
});
});
});
});
});
node(additiveReconstructor, () -> {
node(multiplicativeReconstructor, () -> {
node(exponentialReconstructor, () -> {
node(tetrativeReconstructor, () -> {
});
});
});
node(thoriumWall, () -> {
node(thoriumWallLarge);
node(surgeWall, () -> {
node(surgeWallLarge);
node(phaseWall, () -> {
node(phaseWallLarge);
});
});
});
});
});
});
});
node(coreFoundation, () -> {
node(coreNucleus, () -> {
});
});
node(duo, () -> {
node(scatter, () -> {
node(hail, () -> {
@ -376,31 +335,71 @@ public class TechTree implements ContentList{
});
});
});
});
node(groundFactory, () -> {
node(dagger, () -> {
node(mace, () -> {
node(fortress, () -> {
node(copperWall, () -> {
node(copperWallLarge, () -> {
node(titaniumWall, () -> {
node(titaniumWallLarge);
});
});
node(nova, () -> {
node(pulsar, () -> {
node(quasar, () -> {
node(door, () -> {
node(doorLarge);
});
node(plastaniumWall, () -> {
node(plastaniumWallLarge, () -> {
});
});
node(crawler, () -> {
node(atrax, () -> {
node(spiroct, () -> {
});
});
node(thoriumWall, () -> {
node(thoriumWallLarge);
node(surgeWall, () -> {
node(surgeWallLarge);
node(phaseWall, () -> {
node(phaseWallLarge);
});
});
});
node(airFactory, () -> {
node(flare, () -> {
node(horizon, () -> {
node(zenith, () -> {
node(antumbra, () -> {
node(eclipse, () -> {
});
});
});
});
node(mono, () -> {
node(poly, () -> {
node(mega, () -> {
});
});
});
});
node(navalFactory, () -> {
node(risso, () -> {
node(minke, () -> {
node(bryde, () -> {
});
});
});
});
});
node(additiveReconstructor, () -> {
node(multiplicativeReconstructor, () -> {
node(exponentialReconstructor, () -> {
node(tetrativeReconstructor, () -> {
});
});
});
});
});

View File

@ -416,13 +416,16 @@ public class ResearchDialog extends BaseDialog{
public void drawChildren(){
clamp();
float offsetX = panX + width / 2f, offsetY = panY + height / 2f;
Draw.sort(true);
for(TechTreeNode node : nodes){
if(!node.visible) continue;
for(TechTreeNode child : node.children){
if(!child.visible) continue;
boolean lock = locked(node.node) || locked(child.node);
Draw.z(lock ? 1f : 2f);
Lines.stroke(Scl.scl(4f), locked(node.node) || locked(child.node) ? Pal.gray : Pal.accent);
Lines.stroke(Scl.scl(4f), lock ? Pal.gray : Pal.accent);
Draw.alpha(parentAlpha);
if(Mathf.equal(Math.abs(node.y - child.y), Math.abs(node.x - child.x), 1f) && Mathf.dstm(node.x, node.y, child.x, child.y) <= node.width*3){
Lines.line(node.x + offsetX, node.y + offsetY, child.x + offsetX, child.y + offsetY);
@ -433,6 +436,7 @@ public class ResearchDialog extends BaseDialog{
}
}
Draw.sort(false);
Draw.reset();
super.drawChildren();
}