Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends DialogicNode_PortraitContainer
- class_name DialogicNode_PortraitContainer_Animated
- var tween : Tween
- var rng := RandomNumberGenerator.new()
- var anim_style := AnimatedPortraitLayer.SPEAK_ANIM_STYLE.TRANSLATION
- var _start_position : Vector2
- func _ready():
- super()
- _start_position = position
- func _on_continued_revealing_text(new_character):
- if rng.randi_range(0,1) != 0 || new_character == ' ':
- return
- match anim_style:
- AnimatedPortraitLayer.SPEAK_ANIM_STYLE.TRANSLATION:
- _animate_translation()
- func _on_finished_revealing_text():
- match anim_style:
- AnimatedPortraitLayer.SPEAK_ANIM_STYLE.TRANSLATION:
- if tween:
- tween.kill()
- tween = get_tree().create_tween()
- tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC)
- tween.tween_property(self, "position", _start_position, 0.03)
- func _animate_translation():
- var rand_value: Vector2 = Vector2(rng.randf_range(-5.0,5.0), 0.0)
- var target: Vector2 = _start_position + rand_value
- if tween:
- tween.kill()
- tween = get_tree().create_tween()
- tween.set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_CUBIC)
- tween.tween_property(self, "position", target, 0.02)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement