I am currently trying to make a GUI for our game. For now, I have a title screen spawning at the start with working buttons on it and all. I also have a pause menu shich pops out when I press ENTER (for now). Finally, I have a widget that appears when you collect a marble in the level.
For my pipeline, I made 3 animations for the Collectible HUD:
- When you got marble, it comes down and goes up after 2 seconds
- When you press ENTER (Pause), it comes down and stops
- When Pause is removed from viewport, the HUD goes back up (not working)
All of them separately work very well, but the problem is this:
When I call the Pause menu Widget, I want to call the Collectible Widget too. It works fine, as I call the 2 of them in the Character Blueprint when the input is pressed.
Here is the 2 functions I call, which are similar:
But when I press the Resume button, which is making the pause menu leaving the viewport, I try to trigger the animation of the Collectible HUD going back up and hide OFF screen, but it stays in screen.
This is the pause screen, called as I want…but the thing at the top doesn’t go up after Pause is gone.
This is the Pause Widget (top) and the Collectibles widget (Bottom):
My question, finally, would be 3 questions:
Is it possible that my event in Pause is just checking one time all the nodes and it is the cause of the bug (because when the pause menu is closed, it doesn’t trigger an event begin play)? In that case, is there an event that can check multiples times the blue print so it can detect when the game is unpaused?
Is there a way to call an event in a widget blue print, and make that event’s following nodes in another widget blueprint? (I tried with casting…but it doesn’t work between widgets (or is it?)) It would allow me to call an event when Pause is started and when Pause is finished, so i could start from these events in my collectibles blue print.
If you think my way is bad and you have any good idea to make this working, I can take it
thanks for your patience. I hope to hear from you soon guys!