This commit is contained in:
Anuken
2022-09-30 19:27:46 -04:00
parent f90bb5b542
commit 93a08be440
3 changed files with 7 additions and 8 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ public class GameState{
} }
public boolean hasSpawns(){ public boolean hasSpawns(){
return rules.waves && !(isCampaign() && rules.attackMode); return rules.waves && ((rules.waveTeam.cores().size > 0 && rules.attackMode) || rules.spawns.size > 0);
} }
/** Note that being in a campaign does not necessarily mean having a sector. */ /** Note that being in a campaign does not necessarily mean having a sector. */
@@ -381,14 +381,12 @@ public class ResearchDialog extends BaseDialog{
this.parent = parent; this.parent = parent;
this.width = this.height = nodeSize; this.width = this.height = nodeSize;
nodes.add(this); nodes.add(this);
if(node.children != null){
children = new TechTreeNode[node.children.size]; children = new TechTreeNode[node.children.size];
for(int i = 0; i < children.length; i++){ for(int i = 0; i < children.length; i++){
children[i] = new TechTreeNode(node.children.get(i), this); children[i] = new TechTreeNode(node.children.get(i), this);
} }
} }
} }
}
public class View extends Group{ public class View extends Group{
public float panX = 0, panY = -200, lastZoom = -1; public float panX = 0, panY = -200, lastZoom = -1;
+3 -2
View File
@@ -11,7 +11,7 @@ public interface TreeLayout{
public T parent; public T parent;
//internal stuff //internal stuff
public float mode, prelim, change, shift; public float mode, prelim, change, shift, cachedWidth = -1f;
public int number = -1, leaves; public int number = -1, leaves;
public TreeNode thread, ancestor; public TreeNode thread, ancestor;
@@ -21,12 +21,13 @@ public interface TreeLayout{
public float calcWidth(){ public float calcWidth(){
if(children == null) return width; if(children == null) return width;
if(cachedWidth > 0) return cachedWidth;
float cWidth = 0; float cWidth = 0;
for(T node : children){ for(T node : children){
cWidth += node.calcWidth(); cWidth += node.calcWidth();
} }
return Math.max(width, cWidth); return cachedWidth = Math.max(width, cWidth);
} }
} }
} }