Better tree layout
This commit is contained in:
@@ -73,6 +73,12 @@ public class TechTree implements ContentList{
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node(coreFoundation, () -> {
|
||||||
|
node(coreNucleus, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
node(mechanicalDrill, () -> {
|
node(mechanicalDrill, () -> {
|
||||||
|
|
||||||
node(mechanicalPump, () -> {
|
node(mechanicalPump, () -> {
|
||||||
@@ -255,85 +261,38 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
node(groundFactory, () -> {
|
node(duo, () -> {
|
||||||
node(dagger, () -> {
|
node(copperWall, () -> {
|
||||||
node(mace, () -> {
|
node(copperWallLarge, () -> {
|
||||||
node(fortress, () -> {
|
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(thoriumWall, () -> {
|
||||||
node(flare, () -> {
|
node(thoriumWallLarge);
|
||||||
node(horizon, () -> {
|
node(surgeWall, () -> {
|
||||||
node(zenith, () -> {
|
node(surgeWallLarge);
|
||||||
node(antumbra, () -> {
|
node(phaseWall, () -> {
|
||||||
node(eclipse, () -> {
|
node(phaseWallLarge);
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
node(mono, () -> {
|
|
||||||
node(poly, () -> {
|
|
||||||
node(mega, () -> {
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
node(navalFactory, () -> {
|
|
||||||
node(risso, () -> {
|
|
||||||
node(minke, () -> {
|
|
||||||
node(bryde, () -> {
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
node(additiveReconstructor, () -> {
|
|
||||||
node(multiplicativeReconstructor, () -> {
|
|
||||||
node(exponentialReconstructor, () -> {
|
|
||||||
node(tetrativeReconstructor, () -> {
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
node(coreFoundation, () -> {
|
|
||||||
node(coreNucleus, () -> {
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
node(duo, () -> {
|
|
||||||
node(scatter, () -> {
|
node(scatter, () -> {
|
||||||
node(hail, () -> {
|
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(airFactory, () -> {
|
||||||
node(phaseWallLarge);
|
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, () -> {
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -416,13 +416,16 @@ public class ResearchDialog extends BaseDialog{
|
|||||||
public void drawChildren(){
|
public void drawChildren(){
|
||||||
clamp();
|
clamp();
|
||||||
float offsetX = panX + width / 2f, offsetY = panY + height / 2f;
|
float offsetX = panX + width / 2f, offsetY = panY + height / 2f;
|
||||||
|
Draw.sort(true);
|
||||||
|
|
||||||
for(TechTreeNode node : nodes){
|
for(TechTreeNode node : nodes){
|
||||||
if(!node.visible) continue;
|
if(!node.visible) continue;
|
||||||
for(TechTreeNode child : node.children){
|
for(TechTreeNode child : node.children){
|
||||||
if(!child.visible) continue;
|
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);
|
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){
|
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);
|
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();
|
Draw.reset();
|
||||||
super.drawChildren();
|
super.drawChildren();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user