/// <summary> /// see https://github.com/EpicGames/UnrealEngine/blob/6c20d9831a968ad3cb156442bebb41a883e62152/Engine/Source/Runtime/GameplayTags/Private/GameplayTagContainer.cpp#L970 /// </summary> /// <param name="reader"></param> public void Serialize(NetBitReader reader) { // 1st bit to indicate empty tag container or not (empty tag containers are frequently replicated). Early out if empty. if (reader.ReadBit()) { return; } var numTags = reader.ReadBitsToInt(7); Tags = new FGameplayTag[numTags]; for (var i = 0; i < numTags; i++) { Tags[i] = new FGameplayTag(reader); } }
public void Serialize(NetBitReader reader) { int numElements = reader.ReadBitsToInt(5); if (numElements == 0) { return; } Tags = new FGameplayTag[numElements]; for (int i = 0; i < numElements; i++) { FGameplayTag tag = new FGameplayTag(); tag.Serialize(reader); Tags[i] = tag; } }
public void Serialize(NetBitReader reader) { bool isEmpty = reader.ReadBit(); if (isEmpty) { return; } int numTags = reader.ReadBitsToInt(7); Tags = new FGameplayTag[numTags]; for (int i = 0; i < numTags; i++) { FGameplayTag tag = new FGameplayTag(); tag.Serialize(reader); Tags[i] = tag; } }