본문으로 건너뛰기

Volt 1.2

Small changes with QOL changes, and we tried our best to make the code a little simpler and efficient.

warning

This update have some breaking changes. Please check them out.


Added

Shared Animation Manager & Macros Have Been Overhauled

Now UVoltSubsystem provides SharedAnimationManager, that any slate can access and use to animate themselves without implementing additional animation manager.

This will help you to reduce the size of code and quickly start to animate slates.

Now you can use VOLT_....() macros or inline functions without specifying any explicit animation manager, then it will use SharedAnimationManager instead.

정보

You can still use the old signature to specify specific animation manager to use.

img.png

warning

If you use VOLT_STOP_ALL_ANIM() often, we recommend you to use VOLT_STOP_ANIM() instead in SharedAnimationManager because what VOLT_STOP_ALL_ANIM() does is iterating each tracks to check the condition, which can be bad to the performance since SharedAnimationManager easily takes 200+ tracks at the same time.

If you really have to use VOLT_STOP_ALL_ANIM(), then we recommend you to have independent animation manager to animate that slate.


Changed

Now volt animation manager's tracks are handled with TSet and hash table implementation. Checking whether it contains a specific track is much more efficient now.

VOLT_GET_ANIMATION macro now doesn't take animation classname anymore; now you can VOLT_GET_ANIMATION() instead of VOLT_GET_ANIMATION(UVoltAnimation).


Breaking Changes

All Pre-defined UVoltAnimations Have Been Removed

We've thought it's not best to keep those code in the files, because it increases the code size but completely obsolete at this point.

정보

If you need them, please bring them from the previous version manually.

SVoltAnimatedBorder Has Been Removed

Simply, it doesn't have any purpose and obsolete at the moment.

UVoltAnimationManager::FlushTrackAt(...) Has Been Removed

We changed the track related properties to TSet from TArray for performance aspects, which doesn't support index-based accessing. Please change your code to use FlushTrack() instead.