How to dynamically create a TMap

I have something like this that seems to work. Hopefully it can help you.

Header:

static TMap<ECharacterPose, float> AddMap(TMap<ECharacterPose, float> Sums,
	                                          const TMap<ECharacterPose, float>& Addends);

CPP:

TMap<ECharacterPose, float> AGameModeArsenal::AddMap(TMap<ECharacterPose, float> Sums,
                                                     const TMap<ECharacterPose, float>& Addends)
{
	for (const auto& Addend : Addends)
	{
		if (Sums.Find(Addend.Key))
		{
			Sums[Addend.Key] += Addend.Value;
			continue;
		}

		Sums.Emplace(Addend.Key, Addend.Value);
	}

	return Sums;
}

Called from a void non-static method:

Multi->AdsSpeeds = AddMap(Multi->AdsSpeeds, Raw->AdsSpeeds);
1 Like