#742: fix options screen bug when language changed

This commit is contained in:
etourdot
2019-05-12 23:25:00 +02:00
committed by Yair Morgenstern
parent c9bd56da95
commit 995ebb5cf8

View File

@ -28,7 +28,7 @@ class Language(val language:String){
}
class WorldScreenOptionsTable(screen:WorldScreen) : PopupTable(screen){
val languageSelectBox = SelectBox<Language>(skin)
var selectedLanguage: String = "English"
init {
update()
@ -157,7 +157,7 @@ class WorldScreenOptionsTable(screen:WorldScreen) : PopupTable(screen){
private fun addLanguageSelectBox() {
add("Language".toLabel())
val languageSelectBox = SelectBox<Language>(skin)
val languageArray = Array<Language>()
GameBasics.Translations.getLanguages().map { Language(it) }.sortedByDescending { it.percentComplete }
.forEach { languageArray.add(it) }
@ -167,7 +167,7 @@ class WorldScreenOptionsTable(screen:WorldScreen) : PopupTable(screen){
languageSelectBox.addListener(object : ChangeListener() {
override fun changed(event: ChangeEvent?, actor: Actor?) {
val selectedLanguage = languageSelectBox.selected.language
selectedLanguage = languageSelectBox.selected.language
if (Fonts().containsFont(Fonts().getFontForLanguage(selectedLanguage)))
selectLanguage()
else {
@ -206,7 +206,7 @@ class WorldScreenOptionsTable(screen:WorldScreen) : PopupTable(screen){
fun selectLanguage(){
UnCivGame.Current.settings.language = languageSelectBox.selected.language
UnCivGame.Current.settings.language = selectedLanguage
UnCivGame.Current.settings.save()
CameraStageBaseScreen.resetFonts()