Add json import/export handling of mmFloor and mmBar
This commit is contained in:
@@ -307,12 +307,15 @@ fun Pairing.Companion.fromJson(json: Json.Object): Pairing {
|
|||||||
val placementParams = json.getArray("placement")?.let { PlacementParams.fromJson(it) } ?: defaultParams.placementParams
|
val placementParams = json.getArray("placement")?.let { PlacementParams.fromJson(it) } ?: defaultParams.placementParams
|
||||||
return when (type) {
|
return when (type) {
|
||||||
SWISS -> Swiss(pairingParams, placementParams)
|
SWISS -> Swiss(pairingParams, placementParams)
|
||||||
MAC_MAHON -> MacMahon(pairingParams, placementParams)
|
MAC_MAHON -> MacMahon(pairingParams, placementParams).also { mm ->
|
||||||
|
mm.mmFloor = json.getInt("mmFloor") ?: -20
|
||||||
|
mm.mmBar = json.getInt("mmBar") ?: 0
|
||||||
|
}
|
||||||
ROUND_ROBIN -> RoundRobin(pairingParams, placementParams)
|
ROUND_ROBIN -> RoundRobin(pairingParams, placementParams)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Pairing.toJson() = Json.Object(
|
fun Pairing.toJson(): Json.Object = Json.MutableObject(
|
||||||
"type" to type.name,
|
"type" to type.name,
|
||||||
"base" to pairingParams.base.toJson(),
|
"base" to pairingParams.base.toJson(),
|
||||||
"main" to pairingParams.main.toJson(),
|
"main" to pairingParams.main.toJson(),
|
||||||
@@ -320,4 +323,9 @@ fun Pairing.toJson() = Json.Object(
|
|||||||
"geo" to pairingParams.geo.toJson(),
|
"geo" to pairingParams.geo.toJson(),
|
||||||
"handicap" to pairingParams.handicap.toJson(),
|
"handicap" to pairingParams.handicap.toJson(),
|
||||||
"placement" to placementParams.toJson()
|
"placement" to placementParams.toJson()
|
||||||
)
|
).also { ret ->
|
||||||
|
if (this is MacMahon) {
|
||||||
|
ret["mmFloor"] = mmFloor
|
||||||
|
ret["mmBar"] = mmBar
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user