mirror of
https://github.com/packwiz/packwiz-installer.git
synced 2025-04-19 21:16:30 +02:00
Fix and simplify side matching code (fixes #54)
This commit is contained in:
parent
ad951b9b44
commit
1deed7dd0d
@ -4,42 +4,29 @@ import cc.ekblad.toml.model.TomlValue
|
|||||||
import cc.ekblad.toml.tomlMapper
|
import cc.ekblad.toml.tomlMapper
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
|
|
||||||
enum class Side {
|
enum class Side(sideName: String) {
|
||||||
@SerializedName("client")
|
@SerializedName("client")
|
||||||
CLIENT("client"),
|
CLIENT("client"),
|
||||||
@SerializedName("server")
|
@SerializedName("server")
|
||||||
SERVER("server"),
|
SERVER("server"),
|
||||||
@SerializedName("both")
|
@SerializedName("both")
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
BOTH("both", arrayOf(CLIENT, SERVER));
|
BOTH("both") {
|
||||||
|
override fun hasSide(tSide: Side): Boolean {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private val sideName: String
|
private val sideName: String
|
||||||
private val depSides: Array<Side>?
|
|
||||||
|
|
||||||
constructor(sideName: String) {
|
init {
|
||||||
this.sideName = sideName.lowercase()
|
this.sideName = sideName.lowercase()
|
||||||
depSides = null
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor(sideName: String, depSides: Array<Side>) {
|
|
||||||
this.sideName = sideName.lowercase()
|
|
||||||
this.depSides = depSides
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun toString() = sideName
|
override fun toString() = sideName
|
||||||
|
|
||||||
fun hasSide(tSide: Side): Boolean {
|
open fun hasSide(tSide: Side): Boolean {
|
||||||
if (this == tSide) {
|
return this == tSide || tSide == BOTH
|
||||||
return true
|
|
||||||
}
|
|
||||||
if (depSides != null) {
|
|
||||||
for (depSide in depSides) {
|
|
||||||
if (depSide == tSide) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user