Рефакторинг имён
This commit is contained in:
parent
ef9e22b51c
commit
35151c8187
@ -1,6 +1,5 @@
|
||||
package ru.dbotthepony.kstarbound.defs.item
|
||||
|
||||
import com.google.common.collect.ImmutableList
|
||||
import com.google.gson.GsonBuilder
|
||||
import ru.dbotthepony.kstarbound.Starbound
|
||||
import ru.dbotthepony.kstarbound.io.KConcreteTypeAdapter
|
||||
@ -255,78 +254,78 @@ data class ItemDefinition(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(ItemDefinition::class)
|
||||
.plain(ItemDefinition::itemName)
|
||||
.plain(ItemDefinition::price)
|
||||
.plain(ItemDefinition::rarity)
|
||||
.plain(ItemDefinition::category)
|
||||
.plain(ItemDefinition::inventoryIcon, Starbound::readingFolderTransformerNullable)
|
||||
.plain(ItemDefinition::description)
|
||||
.plain(ItemDefinition::shortdescription)
|
||||
.auto(ItemDefinition::itemName)
|
||||
.auto(ItemDefinition::price)
|
||||
.auto(ItemDefinition::rarity)
|
||||
.auto(ItemDefinition::category)
|
||||
.auto(ItemDefinition::inventoryIcon, Starbound::readingFolderTransformerNullable)
|
||||
.auto(ItemDefinition::description)
|
||||
.auto(ItemDefinition::shortdescription)
|
||||
|
||||
.list(ItemDefinition::itemTags)
|
||||
.list(ItemDefinition::learnBlueprintsOnPickup)
|
||||
|
||||
.plain(ItemDefinition::maxStack)
|
||||
.plain(ItemDefinition::eventCategory)
|
||||
.plain(ItemDefinition::consumeOnPickup)
|
||||
.auto(ItemDefinition::maxStack)
|
||||
.auto(ItemDefinition::eventCategory)
|
||||
.auto(ItemDefinition::consumeOnPickup)
|
||||
.list(ItemDefinition::pickupQuestTemplates)
|
||||
|
||||
.plain(ItemDefinition::race)
|
||||
.plain(ItemDefinition::displayImage, transformer = Starbound::readingFolderTransformerNullable)
|
||||
.plain(ItemDefinition::displayoffset)
|
||||
.plain(ItemDefinition::fossilSetName)
|
||||
.plain(ItemDefinition::setIndex)
|
||||
.plain(ItemDefinition::setCount)
|
||||
.auto(ItemDefinition::race)
|
||||
.auto(ItemDefinition::displayImage, transformer = Starbound::readingFolderTransformerNullable)
|
||||
.auto(ItemDefinition::displayoffset)
|
||||
.auto(ItemDefinition::fossilSetName)
|
||||
.auto(ItemDefinition::setIndex)
|
||||
.auto(ItemDefinition::setCount)
|
||||
.map(ItemDefinition::setCollectables, String::class)
|
||||
.plain(ItemDefinition::completeFossilIcon)
|
||||
.plain(ItemDefinition::completeFossilObject)
|
||||
.auto(ItemDefinition::completeFossilIcon)
|
||||
.auto(ItemDefinition::completeFossilObject)
|
||||
|
||||
.plain(ItemDefinition::completeSetDescriptions)
|
||||
.auto(ItemDefinition::completeSetDescriptions)
|
||||
.list(ItemDefinition::radioMessagesOnPickup)
|
||||
.plain(ItemDefinition::fuelAmount)
|
||||
.auto(ItemDefinition::fuelAmount)
|
||||
|
||||
.list(ItemDefinition::pickupSoundsSmall)
|
||||
.list(ItemDefinition::pickupSoundsMedium)
|
||||
.list(ItemDefinition::pickupSoundsLarge)
|
||||
.plain(ItemDefinition::smallStackLimit)
|
||||
.plain(ItemDefinition::mediumStackLimit)
|
||||
.plain(ItemDefinition::currency)
|
||||
.plain(ItemDefinition::value)
|
||||
.auto(ItemDefinition::smallStackLimit)
|
||||
.auto(ItemDefinition::mediumStackLimit)
|
||||
.auto(ItemDefinition::currency)
|
||||
.auto(ItemDefinition::value)
|
||||
|
||||
.list(ItemDefinition::scripts, transformer = Starbound::readingFolderListTransformer)
|
||||
.list(ItemDefinition::animationScripts, transformer = Starbound::readingFolderListTransformer)
|
||||
|
||||
.plain(ItemDefinition::tooltipKind)
|
||||
.plain(ItemDefinition::level)
|
||||
.auto(ItemDefinition::tooltipKind)
|
||||
.auto(ItemDefinition::level)
|
||||
.list(ItemDefinition::leveledStatusEffects)
|
||||
// .map(ItemDefinition::colorOptions)
|
||||
.plain(ItemDefinition::maleFrames)
|
||||
.plain(ItemDefinition::femaleFrames)
|
||||
.auto(ItemDefinition::maleFrames)
|
||||
.auto(ItemDefinition::femaleFrames)
|
||||
|
||||
.plain(ItemDefinition::animation, transformer = Starbound::readingFolderTransformerNullable)
|
||||
.plain(ItemDefinition::twoHanded)
|
||||
.auto(ItemDefinition::animation, transformer = Starbound::readingFolderTransformerNullable)
|
||||
.auto(ItemDefinition::twoHanded)
|
||||
|
||||
.storesJson()
|
||||
|
||||
.build()
|
||||
|
||||
val FOSSIL_ADAPTER = KConcreteTypeAdapter.Builder(FossilSetDescription::class)
|
||||
.plain(FossilSetDescription::price)
|
||||
.plain(FossilSetDescription::shortdescription)
|
||||
.plain(FossilSetDescription::description)
|
||||
.auto(FossilSetDescription::price)
|
||||
.auto(FossilSetDescription::shortdescription)
|
||||
.auto(FossilSetDescription::description)
|
||||
.specifyStringInterner(ADAPTER.stringInterner)
|
||||
.build()
|
||||
|
||||
val ARMOR_FRAMES_ADAPTER = KConcreteTypeAdapter.Builder(ArmorFrames::class)
|
||||
.plain(ArmorFrames::body, transformer = Starbound::readingFolderTransformer)
|
||||
.plain(ArmorFrames::backSleeve, transformer = Starbound::readingFolderTransformer)
|
||||
.plain(ArmorFrames::frontSleeve, transformer = Starbound::readingFolderTransformer)
|
||||
.auto(ArmorFrames::body, transformer = Starbound::readingFolderTransformer)
|
||||
.auto(ArmorFrames::backSleeve, transformer = Starbound::readingFolderTransformer)
|
||||
.auto(ArmorFrames::frontSleeve, transformer = Starbound::readingFolderTransformer)
|
||||
.build()
|
||||
|
||||
val STATUS_EFFECT_ADAPTER = KConcreteTypeAdapter.Builder(StatusEffect::class)
|
||||
.plain(StatusEffect::levelFunction)
|
||||
.plain(StatusEffect::stat)
|
||||
.plain(StatusEffect::baseMultiplier)
|
||||
.auto(StatusEffect::levelFunction)
|
||||
.auto(StatusEffect::stat)
|
||||
.auto(StatusEffect::baseMultiplier)
|
||||
.build()
|
||||
|
||||
fun registerGson(gsonBuilder: GsonBuilder) {
|
||||
|
@ -26,23 +26,23 @@ data class LiquidDefinition(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(LiquidDefinition::class)
|
||||
.plain(LiquidDefinition::name)
|
||||
.plain(LiquidDefinition::liquidId)
|
||||
.plain(LiquidDefinition::description)
|
||||
.plain(LiquidDefinition::tickDelta)
|
||||
.plain(LiquidDefinition::color)
|
||||
.plain(LiquidDefinition::itemDrop)
|
||||
.auto(LiquidDefinition::name)
|
||||
.auto(LiquidDefinition::liquidId)
|
||||
.auto(LiquidDefinition::description)
|
||||
.auto(LiquidDefinition::tickDelta)
|
||||
.auto(LiquidDefinition::color)
|
||||
.auto(LiquidDefinition::itemDrop)
|
||||
.list(LiquidDefinition::statusEffects)
|
||||
.list(LiquidDefinition::interactions)
|
||||
.plain(LiquidDefinition::texture)
|
||||
.plain(LiquidDefinition::bottomLightMix)
|
||||
.plain(LiquidDefinition::textureMovementFactor)
|
||||
.auto(LiquidDefinition::texture)
|
||||
.auto(LiquidDefinition::bottomLightMix)
|
||||
.auto(LiquidDefinition::textureMovementFactor)
|
||||
.build()
|
||||
|
||||
val INTERACTION_ADAPTER = KConcreteTypeAdapter.Builder(Interaction::class)
|
||||
.plain(Interaction::liquid)
|
||||
.plain(Interaction::liquidResult)
|
||||
.plain(Interaction::materialResult)
|
||||
.auto(Interaction::liquid)
|
||||
.auto(Interaction::liquidResult)
|
||||
.auto(Interaction::materialResult)
|
||||
.build()
|
||||
|
||||
fun registerGson(gsonBuilder: GsonBuilder) {
|
||||
|
@ -23,18 +23,18 @@ data class MaterialModifier(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(MaterialModifier::class)
|
||||
.plain(MaterialModifier::modId)
|
||||
.plain(MaterialModifier::modName)
|
||||
.plain(MaterialModifier::itemDrop)
|
||||
.plain(MaterialModifier::description)
|
||||
.plain(MaterialModifier::health)
|
||||
.plain(MaterialModifier::harvestLevel)
|
||||
.plain(MaterialModifier::breaksWithTile)
|
||||
.plain(MaterialModifier::grass)
|
||||
.auto(MaterialModifier::modId)
|
||||
.auto(MaterialModifier::modName)
|
||||
.auto(MaterialModifier::itemDrop)
|
||||
.auto(MaterialModifier::description)
|
||||
.auto(MaterialModifier::health)
|
||||
.auto(MaterialModifier::harvestLevel)
|
||||
.auto(MaterialModifier::breaksWithTile)
|
||||
.auto(MaterialModifier::grass)
|
||||
.list(MaterialModifier::miningSounds)
|
||||
.plain(MaterialModifier::miningParticle)
|
||||
.auto(MaterialModifier::miningParticle)
|
||||
.plain(MaterialModifier::renderTemplate, RenderTemplate.CACHE)
|
||||
.plain(MaterialModifier::renderParameters)
|
||||
.auto(MaterialModifier::renderParameters)
|
||||
.build()
|
||||
|
||||
fun registerGson(gsonBuilder: GsonBuilder) {
|
||||
|
@ -28,7 +28,7 @@ data class RenderParameters(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderParameters::class)
|
||||
.plain(
|
||||
.auto(
|
||||
RenderParameters::texture,
|
||||
RenderParameters::variants,
|
||||
RenderParameters::multiColored,
|
||||
|
@ -27,7 +27,7 @@ data class RenderPiece(
|
||||
) {
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderPiece::class)
|
||||
.plain(
|
||||
.auto(
|
||||
RenderPiece::texture,
|
||||
RenderPiece::textureSize,
|
||||
RenderPiece::texturePosition,
|
||||
@ -83,7 +83,7 @@ data class RenderRuleList(
|
||||
private val LOGGED = ObjectArraySet<String>()
|
||||
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(Entry::class)
|
||||
.plain(
|
||||
.auto(
|
||||
Entry::type,
|
||||
Entry::matchHue,
|
||||
Entry::inverse,
|
||||
@ -119,7 +119,7 @@ data class RenderRuleList(
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderRuleList::class)
|
||||
.list(RenderRuleList::entries)
|
||||
.plain(RenderRuleList::join)
|
||||
.auto(RenderRuleList::join)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
@ -211,19 +211,19 @@ data class RenderMatch(
|
||||
.list(RenderMatch::matchAllPoints)
|
||||
.list(RenderMatch::matchAnyPoints)
|
||||
.list(RenderMatch::subMatches)
|
||||
.plain(RenderMatch::haltOnMatch)
|
||||
.plain(RenderMatch::haltOnSubMatch)
|
||||
.auto(RenderMatch::haltOnMatch)
|
||||
.auto(RenderMatch::haltOnSubMatch)
|
||||
.build()
|
||||
|
||||
val PIECE_ADAPTER = KConcreteTypeAdapter.Builder(Piece::class)
|
||||
.plain(Piece::name)
|
||||
.plain(Piece::offset)
|
||||
.auto(Piece::name)
|
||||
.auto(Piece::offset)
|
||||
.inputAsList()
|
||||
.build()
|
||||
|
||||
val MATCHER_ADAPTER = KConcreteTypeAdapter.Builder(Matcher::class)
|
||||
.plain(Matcher::offset)
|
||||
.plain(Matcher::ruleName)
|
||||
.auto(Matcher::offset)
|
||||
.auto(Matcher::ruleName)
|
||||
.inputAsList()
|
||||
.build()
|
||||
}
|
||||
@ -241,7 +241,7 @@ data class RenderMatchList(
|
||||
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderMatchList::class)
|
||||
.plain(RenderMatchList::name)
|
||||
.auto(RenderMatchList::name)
|
||||
.list(RenderMatchList::list)
|
||||
.inputAsList()
|
||||
.build()
|
||||
@ -263,7 +263,7 @@ data class RenderTemplate(
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(RenderTemplate::class)
|
||||
.map(RenderTemplate::pieces, RenderPiece::class.java)
|
||||
.plain(RenderTemplate::representativePiece)
|
||||
.auto(RenderTemplate::representativePiece)
|
||||
.list(RenderTemplate::matches, RenderMatchList::class.java)
|
||||
.map(RenderTemplate::rules, RenderRuleList::class.java)
|
||||
.build()
|
||||
|
@ -25,7 +25,7 @@ data class TileDefinition(
|
||||
) : IRenderableTile {
|
||||
companion object {
|
||||
val ADAPTER = KConcreteTypeAdapter.Builder(TileDefinition::class)
|
||||
.plain(
|
||||
.auto(
|
||||
TileDefinition::materialId,
|
||||
TileDefinition::materialName,
|
||||
TileDefinition::particleColor,
|
||||
@ -39,7 +39,7 @@ data class TileDefinition(
|
||||
TileDefinition::category
|
||||
)
|
||||
.plain(TileDefinition::renderTemplate, RenderTemplate.CACHE)
|
||||
.plain(
|
||||
.auto(
|
||||
TileDefinition::renderParameters,
|
||||
)
|
||||
.build()
|
||||
|
@ -29,7 +29,6 @@ import kotlin.reflect.*
|
||||
import kotlin.reflect.full.isSubclassOf
|
||||
import kotlin.reflect.full.isSuperclassOf
|
||||
import kotlin.reflect.full.isSupertypeOf
|
||||
import kotlin.reflect.full.memberProperties
|
||||
|
||||
@Suppress("unchecked_cast")
|
||||
private fun <T> resolveBound(bound: Class<T>, stringAdapter: TypeAdapter<String>): TypeAdapter<T> {
|
||||
@ -543,18 +542,18 @@ class KConcreteTypeAdapter<T : Any> private constructor(
|
||||
* Добавляет поля без generic типов и без преобразователей
|
||||
*/
|
||||
@Suppress("unchecked_cast")
|
||||
fun plain(vararg fields: KProperty1<T, *>): Builder<T> {
|
||||
fun auto(vararg fields: KProperty1<T, *>): Builder<T> {
|
||||
for (field in fields)
|
||||
plain(field)
|
||||
auto(field)
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет поле без generic типов, опционально с преобразователем
|
||||
* Автоматически определяет тип поля и необходимый адаптор типа к нему
|
||||
*/
|
||||
@Suppress("unchecked_cast")
|
||||
fun <In> plain(field: KProperty1<T, In>, transformer: (In) -> In = { it }): Builder<T> {
|
||||
fun <In> auto(field: KProperty1<T, In>, transformer: (In) -> In = { it }): Builder<T> {
|
||||
val returnType = field.returnType
|
||||
val classifier = returnType.classifier as? KClass<*> ?: throw ClassCastException("Unable to cast ${returnType.classifier} to KClass of property ${field.name}!")
|
||||
|
||||
@ -577,20 +576,6 @@ class KConcreteTypeAdapter<T : Any> private constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет поле(я) без generic типов.
|
||||
*
|
||||
* Если поле с данным именем не найдено, кидается [NoSuchElementException]
|
||||
*/
|
||||
fun plain(vararg fields: String): Builder<T> {
|
||||
val members = clazz.memberProperties
|
||||
|
||||
return this.plain(*Array(fields.size) {
|
||||
val field = fields[it]
|
||||
return@Array members.firstOrNull { it.name == field } ?: throw NoSuchElementException("Unable to find field $field")
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет поле, которое содержит список значений V (без null).
|
||||
*
|
||||
@ -601,14 +586,6 @@ class KConcreteTypeAdapter<T : Any> private constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
fun <T> makeListAdapter(type: Class<T>): TypeAdapter<List<T>?> {
|
||||
return ListAdapter(type, internedStringAdapter)
|
||||
}
|
||||
|
||||
fun <T> makeObjectAdapter(type: Class<T>): TypeAdapter<Map<String, T>?> {
|
||||
return StringMapAdapter(type, internedStringAdapter, stringInterner)
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет поле, которое содержит список значений V (без null).
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user