summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/GardenJson.kt
blob: 8f442681edbaf3125ab48d0f70a442d3b7a22b75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package at.hannibal2.skyhanni.data.jsonobjects.repo

import at.hannibal2.skyhanni.features.garden.CropType
import at.hannibal2.skyhanni.utils.LorenzRarity
import at.hannibal2.skyhanni.utils.LorenzVec
import at.hannibal2.skyhanni.utils.NEUInternalName
import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName

data class GardenJson(
    @Expose @SerializedName("garden_exp") val gardenExp: List<Int>,
    @Expose @SerializedName("crop_milestones") val cropMilestones: Map<CropType, List<Int>>,
    @Expose @SerializedName("crop_milestone_community_help") val cropMilestoneCommunityHelp: Map<String, Boolean>,
    @Expose val visitors: Map<String, GardenVisitor>,
    @Expose @SerializedName("organic_matter") val organicMatter: Map<NEUInternalName, Double>,
    @Expose val fuel: Map<NEUInternalName, Double>,
)

data class GardenVisitor(
    @Expose @SerializedName("rarity") private val _rarity: LorenzRarity,
    @Expose @SerializedName("new_rarity") private val _newRarity: LorenzRarity?,
    @Expose val position: LorenzVec?,
    @Expose var skinOrType: String?,
    @Expose val mode: String,
    @Expose @SerializedName("need_items") val needItems: List<String>,
) {
    val rarity: LorenzRarity
        get() = _newRarity ?: _rarity
}