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

xyz.cssxsh.arknights.excel.Excel.kt Maven / Gradle / Ivy

There is a newer version: 2.3.1
Show newest version
package xyz.cssxsh.arknights.excel

import kotlinx.serialization.*
import xyz.cssxsh.arknights.*
import java.time.*

public interface Id {
    public val id: String
}

public interface Name {
    public val name: String
}

public interface CharacterId {
    public val character: String
}

public interface GroupId {
    public val group: String?
}

public interface NationId {
    public val nation: String?
}

public interface TeamId {
    public val team: String?
}

public interface Role : Name, GroupId, NationId, TeamId {
    public val appellation: String
    public val displayNumber: String?
}

public interface Illust {
    public val illust: String
}

public interface Voice {
    public val voice: String
}

public interface BuffId {
    public val buff: String
}

public interface SkillId {
    public val skill: String?
}

public interface TagInfo {
    public val tags: List?
}

public interface ZoneId {
    public val zoneId: String
}

public interface Period {
    public val start: OffsetDateTime
    public val end: OffsetDateTime
}

public interface StoryId {
    public val story: String
}

@Serializable
public data class Blackboard(
    @SerialName("key")
    val key: String,
    @SerialName("value")
    val value: Double
)

@Serializable
public data class UnlockCondition(
    @SerialName("level")
    val level: Int,
    @SerialName("phase")
    val phase: Int
)

@Serializable
public data class LegacyItem(
    @SerialName("count")
    val count: Int,
    @SerialName("id")
    override val id: String,
    @SerialName("type")
    val type: String
) : Id

@Serializable
public enum class ExcelDataType(override val url: String) : CacheKey {
    BUILDING("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/building_data.json"),
    CHARACTER("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/character_table.json"),
    CONST("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/gamedata_const.json"),
    ENEMY("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/enemy_handbook_table.json"),
    GACHA("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/gacha_table.json"),
    HANDBOOK("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/handbook_info_table.json"),
    WORD("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/charword_table.json"),
    SKILL("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/skill_table.json"),
    STORY("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/story_review_table.json"),
    TEAM("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/handbook_team_table.json"),
    ZONE("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/zone_table.json"),
    VERSION("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/data_version.txt");

    override val filename: String = url.substringAfterLast('/')
}

public data class ExcelDataVersion(
    val stream: String,
    val change: String,
    val versionControl: String
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy