void FActiveGameplayCueContainer::AddCue(const FGameplayTag& Tag, const FPredictionKey& PredictionKey, const FGameplayCueParameters& Parameters)
{
	UWorld* World = Owner->GetWorld();

	// Store the prediction key so the client can investigate it
	FActiveGameplayCue&	NewCue = GameplayCues[GameplayCues.AddDefaulted()];
	NewCue.GameplayCueTag = Tag;
	NewCue.PredictionKey = PredictionKey;
	NewCue.Parameters = Parameters;
	MarkItemDirty(NewCue);
	
	Owner->UpdateTagMap(Tag, 1);
}
ALobbyBeaconPlayerState* FLobbyPlayerStateInfoArray::AddPlayer(const FText& PlayerName, const FUniqueNetIdRepl& UniqueId)
{
	check(ParentState);
	UWorld* World = ParentState->GetWorld();
	check(World);

	ALobbyBeaconPlayerState* NewPlayer = ParentState->CreateNewPlayer(PlayerName, UniqueId);
	if (NewPlayer)
	{
		int32 Idx = Players.Add(NewPlayer);
		MarkItemDirty(Players[Idx]);

		// server calls "on rep" also
		Players[Idx].PostReplicatedAdd(*this);

		return Players[Idx].LobbyPlayerState;
	}

	return nullptr;
}