forked from SilverStudioGames/WTS
Skip Callbacks
* Added skip start/end interaction callbacks support * Fixed Doll images not being refreshed after exiting skip interaction
This commit is contained in:
parent
b81d7323c5
commit
16bea0cbde
@ -22,11 +22,10 @@ define sprite_pos = {
|
||||
}
|
||||
}
|
||||
|
||||
init -1 python:
|
||||
init python:
|
||||
|
||||
def replace_text(s):
|
||||
s = s.replace('--', u'\u2014') # em dash
|
||||
return s
|
||||
|
||||
config.replace_text = replace_text
|
||||
|
||||
|
36
game/scripts/utility/skipping.rpy
Normal file
36
game/scripts/utility/skipping.rpy
Normal file
@ -0,0 +1,36 @@
|
||||
init -1 python:
|
||||
|
||||
start_skip_callbacks = []
|
||||
end_skip_callbacks = []
|
||||
|
||||
class SkipCallbacksHandler(NoRollback):
|
||||
|
||||
def __init__(self):
|
||||
self.was_skipping = False
|
||||
|
||||
def __call__(self):
|
||||
is_skipping = renpy.is_skipping()
|
||||
was_skipping = self.was_skipping
|
||||
|
||||
if is_skipping and not was_skipping:
|
||||
self.was_skipping = True
|
||||
for c in start_skip_callbacks:
|
||||
c()
|
||||
|
||||
elif was_skipping and not renpy.is_skipping():
|
||||
self.was_skipping = False
|
||||
for c in end_skip_callbacks:
|
||||
c()
|
||||
|
||||
def rebuild_dolls():
|
||||
if renpy.in_rollback():
|
||||
return
|
||||
|
||||
for c in renpy.store.CHARACTERS:
|
||||
c = get_character_object(c)
|
||||
c.rebuild_image()
|
||||
|
||||
config.interact_callbacks.append(SkipCallbacksHandler())
|
||||
|
||||
end_skip_callbacks.append(rebuild_dolls)
|
||||
|
Loading…
Reference in New Issue
Block a user