Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pausing before timeline is displayed prevents it from starting entirely even when .process_mode=Node.PROCESS_MODE_ALWAYS is set #2453

Open
adrientremblay opened this issue Oct 24, 2024 · 0 comments
Labels
Bug 🐞 Something isn't working Needs testing More feedback/testing would be good

Comments

@adrientremblay
Copy link

The problem

Describe the bug
Setting .process_mode=Node.PROCESS_MODE_ALWAYS for a timeline node and Dialogic singleton, starting timeline, then immediately pausing prevents timeline from starting. I replicated the simple code from This old ticket to try and pause my game but not the dialogic timeline. It doesn't seem to work. The following is my code:

func _ready() -> void:
    Dialogic.process_mode = Node.PROCESS_MODE_ALWAYS
    var dialogicRootNode = Dialogic.start('intro')
    dialogicRootNode.process_mode = Node.PROCESS_MODE_ALWAYS
    Dialogic.signal_event.connect(_on_dialogic_signal)
    Dialogic.timeline_started.connect(_on_timeline_started)
    Dialogic.timeline_ended.connect(_on_timeline_ended)
    
func _on_timeline_started():
    print("Timeline started")
    #get_tree().paused = true

func _on_timeline_ended():
    print("Timeline ended")
    get_tree().paused = false

So _on_timeline_started() executes and pauses the game. Then nothing happens, the dialog doesn't popup.

To Reproduce
Steps to reproduce the behavior:

  1. Set up a basic Dialogic Timeline
  2. Reproduce something similar to my code (see above) to start the timeline while also attempting to pause the game
  3. Observe that the dialog doesn't appear

Expected behavior
The dialog should appear

Screenshots
N/A

System (please complete the following information):

  • OS:Linux
  • Godot Version: 4.3 Stable
  • Dialogic Version: Dialogic 2.0 - Alpha 15

Workaround

HOWEVER a bizzare workaround is waiting like 0.1s in the timeline (sufficient time for the dialog open animation to run I assume), then sending a signal that pauses the game.

func _on_dialogic_signal(action: String):
    if action == "pause":
        get_tree().paused = true

image

What you tried to get the feature working
N/A

@Jowan-Spooner Jowan-Spooner added Bug 🐞 Something isn't working Needs testing More feedback/testing would be good labels Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug 🐞 Something isn't working Needs testing More feedback/testing would be good
Projects
None yet
Development

No branches or pull requests

3 participants
@adrientremblay @Jowan-Spooner and others