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

commonMain.com.bselzer.gw2.v2.model.trait.Trait.kt Maven / Gradle / Ivy

The newest version!
package com.bselzer.gw2.v2.model.trait

import com.bselzer.gw2.v2.model.enumeration.wrapper.TraitSlot
import com.bselzer.gw2.v2.model.enumeration.wrapper.TraitTier
import com.bselzer.gw2.v2.model.specialization.SpecializationId
import com.bselzer.gw2.v2.model.trait.fact.TraitFact
import com.bselzer.gw2.v2.model.wrapper.ImageLink
import com.bselzer.ktx.value.identifier.Identifiable
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class Trait(
    @SerialName("id")
    override val id: TraitId = TraitId(),

    @SerialName("name")
    val name: String = "",

    @SerialName("icon")
    val iconLink: ImageLink = ImageLink(),

    @SerialName("description")
    val description: String = "",

    /**
     * The id of the specialization this trait belongs to.
     * @see the wiki
     */
    @SerialName("specialization")
    val specializationId: SpecializationId = SpecializationId(),

    @SerialName("tier")
    val tier: TraitTier = TraitTier(),

    @SerialName("slot")
    val slot: TraitSlot = TraitSlot(),

    /**
     * The position of this trait within the [tier].
     */
    @SerialName("order")
    val order: Int = 0,

    @SerialName("facts")
    val facts: List = emptyList(),

    @SerialName("traited_facts")
    val traitedFacts: List = emptyList(),

    @SerialName("skills")
    val skills: List = emptyList()
) : Identifiable




© 2015 - 2024 Weber Informatics LLC | Privacy Policy