hi,
Tween event is designed in fire and forget pattern, HorizonTweenSystem will delete any finished tween events.
if you want to reuse tween event, you can:
- Set NumOfLoop to 0(so it never finish and deleted by tween system)
- In OnTweenLoop callback, call UHorizonTweenEvent::Stop() or UHorizonTweenEvent::Pause().
- When you want to start the tween, you can call UHorizonTweenEvent::Play() or UHorizonTweenEvent::Resume() to replay tween.
>>Also, I was wondering the best way to chain tweens together. Since I basically am trying to fade up and fade down an effect once the other tween is finished.
I think you can chain those event in one of these callback:
OnTweenStartNative
OnTweenUpdateNative
OnTweenLoopNative
OnTweenFinishedNative
ex:
TweenList[0]->OnTweenLoopNative.AddLambda([TweenList](UHorizonTweenEvent* InTweenEvent)
{
TweenList[0]->Stop();
TweenList[1]->Start();
}
);
Or you can write another Manager to arrange dependencies of your tween events.