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

io.github.serpro69.kfaker.provider.Tarkov.kt Maven / Gradle / Ivy

There is a newer version: 2.0.0-rc.7
Show newest version
@file:Suppress("unused")

package io.github.serpro69.kfaker.provider

import io.github.serpro69.kfaker.*
import io.github.serpro69.kfaker.dictionary.*
import io.github.serpro69.kfaker.provider.unique.LocalUniqueDataProvider
import io.github.serpro69.kfaker.provider.unique.UniqueProviderDelegate

/**
 * [FakeDataProvider] implementation for [YamlCategory.TARKOV] category.
 */
class Tarkov internal constructor(fakerService: FakerService) :
    YamlFakeDataProvider(fakerService) {
    override val yamlCategory = YamlCategory.TARKOV
    override val localUniqueDataProvider = LocalUniqueDataProvider()
    override val unique by UniqueProviderDelegate(localUniqueDataProvider)

    init {
        fakerService.load(yamlCategory)
    }

    val quests = TarkovQuests(fakerService)

    fun locations() = resolve("locations")
    fun traders() = resolve("traders")
    fun weapons() = resolve("weapons")
    fun items() = resolve("items")
    fun factions() = resolve("factions")
    fun bosses() = resolve("bosses")
}

class TarkovQuests internal constructor(fakerService: FakerService) :
    YamlFakeDataProvider(fakerService) {
    override val yamlCategory = YamlCategory.TARKOV
    override val localUniqueDataProvider = LocalUniqueDataProvider()
    override val unique by UniqueProviderDelegate(localUniqueDataProvider)

    init {
        fakerService.load(yamlCategory)
    }

    fun prapor() = resolve("quests", "prapor")
    fun therapist() = resolve("quests", "therapist")
    fun skier() = resolve("quests", "skier")
    fun peacekeeper() = resolve("quests", "peacekeeper")
    fun mechanic() = resolve("quests", "mechanic")
    fun ragman() = resolve("quests", "ragman")
    fun jaeger() = resolve("quests", "jaeger")
    fun fence() = resolve("quests", "fence")
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy