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