Organise a game in rounds

alright i think i created your entire system and learned a little myself along the way. note that this is just one method and there are many others and this could be improved upon im sure. for this approach i relied on moving actors instead of spawning new ones and i used event dispatchers because well i hadnt really in the past.

ok we begin in the gamemode where ive added on to what was shown previously. this will also be the central blueprint that the others work from. first thing i did was to get a reference to all the characters in the level on begin play then save them in a array for use later. next i created the event dispatcher (yellow arrow bottom left). i then called the event dispatcher (newRound) at the end of the next round script (bad naming i know). the last thing to do in the game mode is to create a CountdownFinished event which we will be using to allow the players to move again once the new round starts. the countdownfinished event just gets the array of characters we stored earlier then runs them through a loop setting the movement mode for each one.

next comes the widget which has two minor changes. first i saved a reference to the gamemode to a variable to make things neater. then near the end of the script i called the countdown finished event from the game mode.

continuing on to the character i created a script which saves the starting transform, binds the NewRound event, sets the actors transform, and disables character movement. basically on begin play we set the variable for the starting transform and bind the event. binding the event means that when the GM calls the event the CharNewRound will be executed, the actor is listening for the call.

im out of space here so continued below.