Merge pull request 'Add Confirmation before using other languages' (#208) from nutbuster/SnootGame:Patch88 into Patch8-RAGE

Reviewed-on: https://git.snootgame.xyz/Cavemanon/SnootGame/pulls/208
This commit is contained in:
Mappening 2022-11-28 02:54:20 +00:00
commit 7d70247bbd
1 changed files with 42 additions and 13 deletions

View File

@ -28,6 +28,23 @@ init python:
SMALL_SIZE = (LARGE_SIZE[0]//3, LARGE_SIZE[1]//3)
SMALL_SPACING = (LARGE_SPACING[0]//2, LARGE_SPACING[1]//2)
def _redraw(self, oldlang):
if oldlang != _preferences.language:
for lb in LangCave.lang_buttons:
lb.selected = False
self.selected = True
for lb in LangCave.lang_buttons:
renpy.redraw(lb, 0)
if LangCave.on_disable_interactable:
if oldlang != _preferences.language or (oldlang is None):
LangCave.on_disable_interactable = False
LangCave.recreate_lang_buttons_roulette_style(LangCave.SMALL_SIZE) #mostly going to happen
renpy.end_interaction(0)
pass
class LangButton(renpy.Displayable):
def __init__(self, v, child, **kwargs):
super(LangCave.LangButton, self).__init__(**kwargs)
@ -41,6 +58,7 @@ init python:
self.width = 0#w
self.height = 0#h
self.value = v
#self.function = Language(v)
self.hover = True #renpy can't handle not/!
self.selected = False
@ -71,19 +89,28 @@ init python:
if ((ex > 0 and ey > 0) and (ex < self.width and ey < self.height)):
self.hover = False
if (renpy.map_event(ev, 'mouseup_1')): #1026
for lb in LangCave.lang_buttons:
lb.selected = False
self.selected = True
onclick_audio(False)
self.value() #todo: change to function, as value doesn't make sense
if not self.selected: #don't double click
onclick_audio(False)
#just in case
oldlang = _preferences.language
if oldlang is None:
oldlang = None
else:
oldlang = (_preferences.language+'.')[:-1] #copy
#self.function()
newf = Function(renpy.change_language, self.value)
newf()
if (self.value != None): #check if it's not english
args = [self, oldlang]
new = Function(LangCave._redraw, *args)
old = [Function(renpy.change_language, oldlang), Function(LangCave._redraw, *args)]
Confirm(_("Sample Text"), new, no=old)()
else:
LangCave._redraw(self, oldlang)
if LangCave.on_disable_interactable:
LangCave.on_disable_interactable = False
LangCave.recreate_lang_buttons_roulette_style(LangCave.SMALL_SIZE) #mostly going to happen
renpy.end_interaction(0)
for lb in LangCave.lang_buttons:
renpy.redraw(lb, 0)
else:
self.hover = True
pass
@ -114,7 +141,7 @@ init python:
#solid = Solid((22,22,22), xysize=size)
# = Solid((22,22,22), xysize=size)
_button = Fixed(tfi, xysize=size)
lang = Language(llb['value'])
lang = llb['value']
button = LangCave.LangButton(lang, _button)
LangCave.on_disable_interactable = True
@ -151,7 +178,8 @@ init python:
penultimate = HBox(text, _button, style_prefix="navigation", spacing=20)
#print(dir(penultimate))
lang = Language(llb['value'])
#lang = Language(llb['value'])
lang = llb['value']
button = LangCave.LangButton(lang, penultimate)
if (_preferences.language == llb['value']):
@ -216,6 +244,7 @@ screen translator_popup:
style_prefix "navigation"
hbox:
label _("Choose Your Language") text_size 80
label _("") text_size 80
hbox:
add Null(80, 40)
add DynamicDisplayable(LangCave.render_langcave)