I have a custom event that starts like this:
The only place the DoOnce gets reset is on the Completed pin of a timeline a bit later. And yet, when I make calls like this ( repeatedly before the timeline has finished ):
the custom event gets called again ( and the DoOnce ignored ) before the timeline has finished playing.
Is this expected behaviour? I assume it’s because I’m calling it with different parameters ( it wont fire more than once with the same param ).
Different parameter should not cause a problem, I’m pretty sure you’re accidentally calling ResetRotate
. Try to unlink the ResetRotate
, and check if it’s actually called only once.
If it does, then link back the reset, and add a breakpoint to be able to see on the Call Stack (Window → Developer Tools → Blueprint Debugger) where the call is coming from.
It surely does not create instances for different parameters.
Are you sure there is only one actor spawned of this type (in which the Timeline resides)? Every spawned instance have their own graph with their own DoOnce.
I have only one call to ResetRotate, I had already tried disconnecting it. The problem persists
It’s almost like the system is making different instances of the event for each parameter, except the timeline keeps getting reset.
Gaah! - found it. Much later on in that stream was this:
Which takes which stone to rotate from the parameter passed to the custom event. So the event only fired once, but it was watching for a change in parameter every frame on the timeline. Which REALLY looked like the event was being called more than once.
Sorry for time wastage…