Display forward slash when research is already blocked by another research

This commit is contained in:
DBotThePony 2022-08-31 12:02:06 +07:00
parent 4ed4ded681
commit ec886bf6ba
Signed by: DBot
GPG Key ID: DCC23B5715498507
5 changed files with 25 additions and 8 deletions

View File

@ -69,14 +69,26 @@ abstract class AndroidResearch(val type: AndroidResearchType<*>, val capability:
return false
}
for (research in prerequisites) {
if (!capability.getResearch(research).isResearched) {
return false
if (!allPrerequisitesResearched || anyBlockerResearched) {
return false
}
return true
}
val anyBlockerResearched: Boolean get() {
for (research in blockedBy) {
if (capability.getResearch(research).isResearched) {
return true
}
}
for (research in blockedBy) {
if (capability.getResearch(research).isResearched) {
return false
}
val allPrerequisitesResearched: Boolean get() {
for (research in prerequisites) {
if (!capability.getResearch(research).isResearched) {
return false
}
}

View File

@ -12,4 +12,5 @@ object Widgets18 {
val COLON = GRID.next()
val C = GRID.next()
val CROSS = GRID.next()
val FORWARD_SLASH = GRID.next()
}

View File

@ -77,7 +77,7 @@ private fun isTree(root: AndroidResearchType<*>): Boolean {
return true
}
typealias LinePos = Pair<Pair<Float, Float>, Pair<Float, Float>>
private typealias LinePos = Pair<Pair<Float, Float>, Pair<Float, Float>>
private class Tree(val node: AndroidResearchType<*>) : Iterable<Tree> {
val subtrees = ArrayList<Tree>()
@ -309,6 +309,10 @@ private open class AndroidResearchButton(
RGBAColor.RED.setSystemColor()
Widgets18.CROSS.render(stack)
} else if (node.anyBlockerResearched) {
RGBAColor.RED.setSystemColor()
Widgets18.FORWARD_SLASH.render(stack)
}
val text = node.iconText

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB