All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.bselzer.gw2.v2.model.account.slot.SharedSlot.kt Maven / Gradle / Ivy

The newest version!
package com.bselzer.gw2.v2.model.account.slot

import com.bselzer.gw2.v2.model.enumeration.wrapper.Binding
import com.bselzer.gw2.v2.model.item.ItemId
import com.bselzer.gw2.v2.model.skin.SkinId
import com.bselzer.ktx.value.identifier.Identifiable
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class SharedSlot(
    /**
     * The id of the item.
     * @see the wiki
     */
    @SerialName("id")
    override val id: ItemId = ItemId(),

    /**
     * The number of this item in the stack.
     */
    @SerialName("count")
    val count: Int = 0,

    /**
     * The number of charges left.
     * If charges exist, then there can only be a single item because chargeable items do not stack.
     */
    @SerialName("charges")
    val charges: Int = 0,

    /**
     * The id of the skin, if applicable.
     * @see the wiki
     */
    @SerialName("skin")
    val skin: SkinId = SkinId(),

    /**
     * The ids of the upgrades (runes/sigils) applied to the item.
     * @see the wiki
     */
    @SerialName("upgrades")
    val upgrades: List = emptyList(),

    /**
     * The ids of the infusions applied to the item.
     * @see the wiki
     */
    @SerialName("infusions")
    val infusions: List = emptyList(),

    /**
     * What owns this item. Null if there is no binding.
     */
    @SerialName("binding")
    val binding: Binding? = null
) : Identifiable




© 2015 - 2024 Weber Informatics LLC | Privacy Policy