mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-22 10:54:19 -04:00
Add Global Uniques to the Civilopedia (#13910)
* Add Global Uniques to the Civilopedia * Clean up the text * Clean up the code * Move into getCivilopediaTutorials
This commit is contained in:
parent
76e9935d83
commit
311611bee5
@ -4800,7 +4800,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -4304,7 +4304,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -4465,7 +4465,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -5034,7 +5034,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -2813,7 +2813,7 @@ UnitType = Tipo de Unidade
|
||||
Promotion = Promoção
|
||||
Resource = Recursos
|
||||
Ruins = Ruínas
|
||||
GlobalUniques = Únicos Globais
|
||||
Global Uniques = Únicos Globais
|
||||
Speed = Velocidade
|
||||
Tutorial = Tutorial
|
||||
CityState = Cidade-Estado
|
||||
|
@ -4079,7 +4079,7 @@ Promotion =
|
||||
Resource = Ресурс
|
||||
Ruins = Руини
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Скорост
|
||||
# Requires translation!
|
||||
Tutorial =
|
||||
|
@ -2845,7 +2845,7 @@ UnitType = Tipus d’unitat
|
||||
Promotion = Ascens
|
||||
Resource = Recurs
|
||||
Ruins = Ruïnes
|
||||
GlobalUniques = Únics globals
|
||||
Global Uniques = Únics globals
|
||||
Speed = Velocitat
|
||||
Tutorial = Tutorial
|
||||
CityState = Ciutat-estat
|
||||
|
@ -2829,7 +2829,7 @@ UnitType = TipJedinice
|
||||
Promotion = Promaknuće
|
||||
Resource = Resurs
|
||||
Ruins = Ruševine
|
||||
GlobalUniques = GlobalniUnikati
|
||||
Global Uniques = Globalni Unikati
|
||||
Speed = Brzina
|
||||
Tutorial = Poduka
|
||||
CityState = GradDržava
|
||||
|
@ -3316,7 +3316,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -2875,7 +2875,7 @@ Promotion = Promotie
|
||||
Resource = Hulpbron
|
||||
Ruins = Ruïnes
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Snelheid
|
||||
Tutorial = Tutorial
|
||||
CityState = StadStaat
|
||||
|
@ -5217,7 +5217,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -3121,7 +3121,7 @@ Promotion = Promosyon
|
||||
Resource = Pagkukunan
|
||||
Ruins = Guho
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Bilis
|
||||
Tutorial = Tutoryal
|
||||
CityState = LungsodEstado
|
||||
|
@ -4241,7 +4241,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -2812,7 +2812,7 @@ UnitType = Type Unité
|
||||
Promotion = Promotion
|
||||
Resource = Ressource
|
||||
Ruins = Ruines
|
||||
GlobalUniques = GlobalUniques
|
||||
Global Uniques = Uniques Mondiales
|
||||
Speed = Vitesse
|
||||
Tutorial = Tutoriel
|
||||
CityState = Cité-État
|
||||
|
@ -2819,7 +2819,7 @@ UnitType = Tipo de unidade
|
||||
Promotion = Promoción
|
||||
Resource = Recurso
|
||||
Ruins = Ruínas
|
||||
GlobalUniques = Únicos globais
|
||||
Global Uniques = Únicos Globais
|
||||
Speed = Velocidade
|
||||
Tutorial = Tuturial
|
||||
CityState = cidade-estado
|
||||
|
@ -2826,7 +2826,7 @@ UnitType = Einheitentyp
|
||||
Promotion = Beförderung
|
||||
Resource = Ressource
|
||||
Ruins = Ruinen
|
||||
GlobalUniques = Globale Unikate
|
||||
Global Uniques = Globale Unikate
|
||||
Speed = Geschwindigkeit
|
||||
Tutorial = Tutorial
|
||||
CityState = Stadtstaat
|
||||
|
@ -4771,7 +4771,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -3030,7 +3030,7 @@ Promotion = Előléptetés
|
||||
Resource = Erőforrás
|
||||
Ruins = Romok
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Sebesség
|
||||
Tutorial = Bemutató
|
||||
CityState = Városállam
|
||||
|
@ -2812,7 +2812,7 @@ UnitType = JenisUnit
|
||||
Promotion = Promosi
|
||||
Resource = SumberDaya
|
||||
Ruins = Reruntuhan
|
||||
GlobalUniques = KeunikanGlobal
|
||||
Global Uniques = Keunikan Global
|
||||
Speed = Kecepatan
|
||||
Tutorial = Tutorial
|
||||
CityState = NegaraKota
|
||||
|
@ -2819,7 +2819,7 @@ Promotion = Promozione
|
||||
Resource = Risorsa
|
||||
Ruins = Rovine
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Velocità
|
||||
Tutorial = Tutorial
|
||||
CityState = Città-Stato
|
||||
|
@ -2835,7 +2835,7 @@ UnitType = ユニットタイプ
|
||||
Promotion = 昇進
|
||||
Resource = 資源
|
||||
Ruins = 遺跡
|
||||
GlobalUniques = グローバルユニーク
|
||||
Global Uniques = グローバルユニーク
|
||||
Speed = スピード
|
||||
Tutorial = チュートリアル
|
||||
CityState = 都市国家
|
||||
|
@ -2857,7 +2857,7 @@ UnitType = 유닛
|
||||
Promotion = 승급
|
||||
Resource = 자원
|
||||
Ruins = 도시 폐허
|
||||
GlobalUniques = 전역특성
|
||||
Global Uniques = 전역특성
|
||||
Speed = 속도
|
||||
Tutorial = 튜토리얼
|
||||
CityState = 도시국가
|
||||
|
@ -3035,7 +3035,7 @@ Promotion = Promotio
|
||||
Resource = Merx
|
||||
Ruins = Parietinae
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Celeritas
|
||||
Tutorial = Praeceptum
|
||||
CityState = Civitas Urbis
|
||||
|
@ -3496,7 +3496,7 @@ Promotion = Paaukštinmas
|
||||
Resource = Resursas
|
||||
Ruins = Griuvėsiai
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Greitis
|
||||
Tutorial = Apmokymai
|
||||
CityState = Laisvasis miestas
|
||||
|
@ -3999,7 +3999,7 @@ Promotion = Kenaikan Pangkat
|
||||
Resource = Sumber
|
||||
Ruins = Runtuhan
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Kelajuan
|
||||
# Requires translation!
|
||||
Tutorial =
|
||||
|
@ -3297,7 +3297,7 @@ Promotion = Forfremjing
|
||||
Resource = Ressurs
|
||||
Ruins = Ruinar
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Snøggleik
|
||||
Tutorial = Rettleiing
|
||||
CityState = CityState
|
||||
|
@ -4620,7 +4620,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -4005,7 +4005,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Sor’at
|
||||
Tutorial = Aamoozesh
|
||||
# Requires translation!
|
||||
|
@ -2872,7 +2872,7 @@ Promotion = Awans
|
||||
Resource = Surowiec
|
||||
Ruins = Ruiny
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Prędkość
|
||||
Tutorial = Samouczek
|
||||
CityState = Wolne Miasto
|
||||
|
@ -2812,7 +2812,7 @@ UnitType = Tipo de Unidade
|
||||
Promotion = Promoção
|
||||
Resource = Recurso
|
||||
Ruins = Ruínas
|
||||
GlobalUniques = UnicosGlobaís
|
||||
Global Uniques = Unicos Globaís
|
||||
Speed = Velocidade
|
||||
Tutorial = Tutorial
|
||||
CityState = Cidade-Estado
|
||||
|
@ -3446,7 +3446,7 @@ Promotion =
|
||||
Resource = Resursă
|
||||
Ruins = Ruine
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Viteză
|
||||
Tutorial = Tutorial
|
||||
CityState = Oraș-stat
|
||||
|
@ -2833,7 +2833,7 @@ UnitType = Тип юнита
|
||||
Promotion = Повышение
|
||||
Resource = Ресурс
|
||||
Ruins = Руины
|
||||
GlobalUniques = Глобальные редкости
|
||||
Global Uniques = Глобальные редкости
|
||||
Speed = Скорость
|
||||
Tutorial = Обучение
|
||||
CityState = Город-государство
|
||||
|
@ -4446,7 +4446,7 @@ Promotion = Промоція
|
||||
Resource = Ресурс
|
||||
Ruins = Розвалениська
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Скорость
|
||||
Tutorial = Ошколованя
|
||||
CityState = Штат-варош
|
||||
|
@ -2827,7 +2827,7 @@ UnitType = 单位类别
|
||||
Promotion = 晋升项
|
||||
Resource = 资源
|
||||
Ruins = 遗迹
|
||||
GlobalUniques = 全局特性
|
||||
Global Uniques = 全局特性
|
||||
Speed = 游戏速度
|
||||
Tutorial = 教程
|
||||
CityState = 城邦
|
||||
|
@ -2821,7 +2821,7 @@ UnitType = Tipo de unidad
|
||||
Promotion = Promoción
|
||||
Resource = Recurso
|
||||
Ruins = Ruinas
|
||||
GlobalUniques = Únicos globales
|
||||
Global Uniques = Únicos globales
|
||||
Speed = Velocidad
|
||||
Tutorial = Tutorial
|
||||
CityState = Ciudad-Estado
|
||||
|
@ -3506,7 +3506,7 @@ Promotion = Befordran
|
||||
Resource = Resurs
|
||||
Ruins = Ruiner
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Hastighet
|
||||
Tutorial = Handledning
|
||||
CityState = CityState
|
||||
|
@ -4700,7 +4700,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -2864,7 +2864,7 @@ Promotion = 晉升
|
||||
Resource = 資源
|
||||
Ruins = 廢墟
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = 速度
|
||||
Tutorial = 教學
|
||||
CityState = 城邦
|
||||
|
@ -2852,7 +2852,7 @@ Promotion = Terfi
|
||||
Resource = Kaynak
|
||||
Ruins = Kalıntılar
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Hız
|
||||
Tutorial = Öğretici
|
||||
CityState = ŞehirDevleti
|
||||
|
@ -2824,7 +2824,7 @@ Promotion = Підвищення
|
||||
Resource = Ресурс
|
||||
Ruins = Руїни
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
Speed = Швидкість
|
||||
Tutorial = Навчання
|
||||
CityState = Місто-Держава
|
||||
|
@ -2812,7 +2812,7 @@ UnitType = chủngloạiđơnvị
|
||||
Promotion = Nâng cấp
|
||||
Resource = Nguồn lực
|
||||
Ruins = Tàn tích
|
||||
GlobalUniques = đặcsắcthếgiới
|
||||
Global Uniques = đặcsắcthếgiới
|
||||
Speed = Tốc độ
|
||||
Tutorial = Hướng dẫn
|
||||
CityState = thànhbang
|
||||
|
@ -4681,7 +4681,7 @@ Resource =
|
||||
# Requires translation!
|
||||
Ruins =
|
||||
# Requires translation!
|
||||
GlobalUniques =
|
||||
Global Uniques =
|
||||
# Requires translation!
|
||||
Speed =
|
||||
# Requires translation!
|
||||
|
@ -1765,6 +1765,7 @@ Search! =
|
||||
Results =
|
||||
Revealed by: =
|
||||
Nothing found! =
|
||||
Global uniques are ruleset-wide modifiers that apply to all civilizations. =
|
||||
|
||||
# Policies
|
||||
|
||||
|
@ -4,15 +4,43 @@ import com.unciv.models.ruleset.unique.IHasUniques
|
||||
import com.unciv.models.ruleset.unique.Unique
|
||||
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||
import com.unciv.models.ruleset.unique.UniqueType
|
||||
import com.unciv.ui.screens.civilopediascreen.FormattedLine
|
||||
import yairm210.purity.annotations.Readonly
|
||||
|
||||
class GlobalUniques: RulesetObject() {
|
||||
override var name = "GlobalUniques"
|
||||
override var name = "Global Uniques"
|
||||
@Readonly override fun makeLink() = "Tutorial/Global Uniques"
|
||||
|
||||
var unitUniques: ArrayList<String> = ArrayList()
|
||||
override fun makeLink() = "" // No own category on Civilopedia screen
|
||||
override fun getUniqueTarget() = UniqueTarget.GlobalUniques
|
||||
|
||||
/** @return Whether or not there are global uniques that should be displayed to the user. */
|
||||
@Readonly fun hasUniques(): Boolean =
|
||||
uniqueObjects.any { !it.isHiddenToUsers() } || unitUniques.isNotEmpty()
|
||||
|
||||
override fun getCivilopediaTextLines(ruleset: Ruleset): List<FormattedLine> {
|
||||
val lines = mutableListOf<FormattedLine>()
|
||||
lines.add(FormattedLine("Global uniques are ruleset-wide modifiers that apply to all civilizations."))
|
||||
val visibleUniques = uniqueObjects.filter { !it.isHiddenToUsers() }
|
||||
if (visibleUniques.isNotEmpty()) {
|
||||
lines.add(FormattedLine(""))
|
||||
lines.add(FormattedLine("Global Effect", header=4))
|
||||
for (unique in visibleUniques) {
|
||||
lines.add(FormattedLine(unique))
|
||||
}
|
||||
}
|
||||
|
||||
val visibleUnitUniques = unitUniques.map { Unique(it) }.filter { !it.isHiddenToUsers() }
|
||||
if (visibleUnitUniques.isNotEmpty()) {
|
||||
lines.add(FormattedLine(""))
|
||||
lines.add(FormattedLine("Units", header=4))
|
||||
for (unique in visibleUnitUniques) {
|
||||
lines.add(FormattedLine(unique))
|
||||
}
|
||||
}
|
||||
return lines
|
||||
}
|
||||
|
||||
companion object {
|
||||
@Readonly
|
||||
fun getUniqueSourceDescription(unique: Unique): String {
|
||||
|
@ -86,7 +86,9 @@ class TutorialController(screen: BaseScreen) {
|
||||
// Todo This is essentially an 'un-private' kludge and the accessor
|
||||
// in CivilopediaCategories desperately needs independence from TutorialController:
|
||||
// Move storage to RuleSet someday?
|
||||
return tutorials.values
|
||||
return tutorials.values +
|
||||
// Global Uniques
|
||||
listOfNotNull(UncivGame.Current.gameInfo?.getGlobalUniques()?.takeIf { it.hasUniques() })
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,13 @@
|
||||
package com.unciv.ui.screens.civilopediascreen
|
||||
|
||||
import com.unciv.UncivGame
|
||||
import com.badlogic.gdx.scenes.scene2d.Actor
|
||||
import com.unciv.models.ruleset.Ruleset
|
||||
import com.unciv.ui.components.input.KeyboardBinding
|
||||
import com.unciv.ui.screens.basescreen.TutorialController
|
||||
import com.unciv.models.ruleset.Belief as BaseBelief
|
||||
import com.unciv.models.ruleset.unit.UnitType as BaseUnitType
|
||||
import yairm210.purity.annotations.Readonly
|
||||
|
||||
/** Enum used as keys for Civilopedia "pages" (categories).
|
||||
*
|
||||
@ -126,7 +128,7 @@ enum class CivilopediaCategories (
|
||||
);
|
||||
|
||||
companion object {
|
||||
fun fromLink(name: String): CivilopediaCategories? =
|
||||
@Readonly fun fromLink(name: String): CivilopediaCategories? =
|
||||
values().firstOrNull { it.name == name }
|
||||
?: values().firstOrNull { it.label == name }
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user