2022-09-30
Delayノードのキャンセル (悩)
Unreal Engine Forums
2017年の情報なので最新バージョンとは異なる可能性があります
要約すると
ブループリント
でDeley
をキャンセル機能は標準で提供されていない。
C++でキャンセルする機能を実装すればキャンセル出来る。
以下、フォーラムに投稿された処理コード。
void UNodeLibrary::CancelDelays(AActor *actor)
{
if (actor == nullptr)
return;
actor->GetWorld()->GetLatentActionManager().RemoveActionsForObject(actor);
}
見た感じ、actor
に結びついたLatentAction
を削除しているので、Deley
以外もキャンセルされると思うので注意が必要。
おわりに
上記を書き終わって、「よしこれは使えるかも」とか思いながらベビースタードデカイラーメン
チキン味をボリボリしながら考えてたけど、あんま良くない気がする。
自分の把握してない場所とかでLatentAction
されると困るというか、かといってキャンセル出来ない処理の場合、手の打ちようがないというか。
ものは試しにやってみるとというのも…うーむ……良くなる気が全くしない。
。oO( ボリボリッうめぇ )