Releases: Tonetfal/UE5FSM
Releases · Tonetfal/UE5FSM
v1.4.0-alpha
- Update to ue5coro 2.1
- Add UE5Coro::UE5FSM::AI::AIMoveTo() that abort the MoveTo task when the awaiter is cancelled, unlike the original UE5Coro::AI::AIMoveTo() which only cancels the awaiter, leaving the AIMoveTo async task running
- Make RunLatentExecution (the RUN_LATENT_EXECUTION() macro) cancel the awaiter in case the latent execution was cancelled; previously it was leaving it running
- Add AllowList to the Machine State. Now you can not only explicitly disallow transition to a certain state, but disallow transition to ANY state besides a given list, which makes it easier to create states that only care about one state
- Add UMachineState::PostInitialize() to simplify the initialization of a machine state
- Integrate some of existing debug in Visual Logger
v1.3.4-alpha
- Substitute std::queue with TArray for debug code
- Add copyright comment
- Other minor changes
v1.3.3-alpha
- Fix minor issues related to packaging.
v1.3.2-alpha
- Fix some warnings.
v1.3.1-alpha
- Exclude UE5Coro from global namespace.
v1.3.0-alpha
Changes:
- Add
EndState()function. It's pretty similar toPopState(), but instead of triggeredOnPopped(), it triggersOnEnded(). - Refactor
UMachineStateevents. Each event now know what state the machine is about to transit, or what state it's transiting from. - Fix states stack manipulation while dispatching an event. Previously, calling any function like
GotoState()would result into crashing. Now it's allowed to effectively do so, but only once at a time. It means that it's impossible to ask more than one stack manipulation action during an event being dispatched, up to the point the action is not fully dispatched. However, it's still possible to queue pushes. - Refactor
GotoLabel(). Allow to assignFGameplayTag::EmptyTagto tell the state to not execute any label. Now the function terminates any latent execution of that particular state.
v1.2.1-alpha
- Refactor
PushStateQueued()andPUSH_STATE_QUEUED()signatures.
v1.2.0-alpha
- Add new way of pushing states on the stack that allows to create requests that are executed as soon as possible (
PushStateQueued()). - Refactor
RUN_LATENT_EXECUTION(), this affectsPUSH_STATE()and such macros. - Fix missing UE5FSM category in gameplay debugger under some circumstances.
v1.1.3-alpha
- Publicaly expose some utility methods.
v1.1.2-alpha
- Fix the ability to wait for push action using coroutines.
- Previously the pushed state could pop itself in
OnPushed(), resuming the state that was paused, but the FSM still would've been waiting for the paused state to resume. - This also includes some improvement and fixes to edge cases when certain FSM actions take place too quickly.