public PackedInt GetSizeOfData()
        {
            ulong result = 0;

            result += (ulong)HasUUID.GetSize();

            if (HasUUID)
            {
                result += (ulong)UUID_LENGTH;
            }

            result += HumanoidEntity.GetSizeOfData().Value;
            result += DefaultStatus.GetSizeOfData().Value;
            result += CurrentStatus.GetSizeOfData().Value;
            result += (ulong)Description.GetSize();
            result += (ulong)PlayingTime.GetSize();
            result += Inventory.GetSizeOfData().Value;
            result += Blueprints.GetSizeOfData().Value;
            result += Tech.GetSizeOfData().Value;
            result += EquippedArmor.GetSizeOfData().Value;
            result += LeftHandItem.GetSizeOfData().Value;
            result += RightHandItem.GetSizeOfData().Value;

            return(new PackedInt()
            {
                Value = result
            });
        }
        public static void SaveToBin(BlueprintData item, BinaryWriter writer)
        {
            PackedInt.SaveToBin(item.GetSizeOfData(), writer);
            PackedInt.SaveToBin(new PackedInt()
            {
                Value = (ulong)item.Blueprints.Count
            }, writer);

            for (int i = 0; i < item.Blueprints.Count; i++)
            {
                Item.SaveToBin(item.Blueprints[i], writer);
            }
        }