Fixed #7643
This commit is contained in:
@@ -59,7 +59,7 @@ public class GameState{
|
||||
}
|
||||
|
||||
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. */
|
||||
|
||||
@@ -381,14 +381,12 @@ public class ResearchDialog extends BaseDialog{
|
||||
this.parent = parent;
|
||||
this.width = this.height = nodeSize;
|
||||
nodes.add(this);
|
||||
if(node.children != null){
|
||||
children = new TechTreeNode[node.children.size];
|
||||
for(int i = 0; i < children.length; i++){
|
||||
children[i] = new TechTreeNode(node.children.get(i), this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class View extends Group{
|
||||
public float panX = 0, panY = -200, lastZoom = -1;
|
||||
|
||||
@@ -11,7 +11,7 @@ public interface TreeLayout{
|
||||
public T parent;
|
||||
|
||||
//internal stuff
|
||||
public float mode, prelim, change, shift;
|
||||
public float mode, prelim, change, shift, cachedWidth = -1f;
|
||||
public int number = -1, leaves;
|
||||
public TreeNode thread, ancestor;
|
||||
|
||||
@@ -21,12 +21,13 @@ public interface TreeLayout{
|
||||
|
||||
public float calcWidth(){
|
||||
if(children == null) return width;
|
||||
if(cachedWidth > 0) return cachedWidth;
|
||||
|
||||
float cWidth = 0;
|
||||
for(T node : children){
|
||||
cWidth += node.calcWidth();
|
||||
}
|
||||
return Math.max(width, cWidth);
|
||||
return cachedWidth = Math.max(width, cWidth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user