Hello everyone,
In the Trigger Platform code it is useful to do a validation check for each element of the Trigger platform array and check if the amount of actors is greater than 0:
if (LinkedPlatforms.Num() > 0) { for (AMovingPlatform* Platform : LinkedPlatforms) { if (Platform) Platform->IncreaseActiveCounter(); } }
If you accidentally added a new element in the editor but forgot to assign a platform, it would cause a crash. Also you should want to make sure there is at least one actor linked ![]()
If you want to reverse the behaviour of the platform, where it stops moving when someone stands on the trigger platform you can do it easily like so:
// Ignore movement if Active Counter is 0 or less and not paused when active. // Ignore movement if Active Counter is 1 or more and paused when active. if ((ActiveCounter <= 0 && !bPauseWhenActive) || (ActiveCounter > 0 && bPauseWhenActive)) return;
Just make sure you declare a new boolean in the header file and set it to EditInstanceOnly. ![]()
(I renamed ActiveTriggers to ActiveCounter by the way!)