public byte[] toByteArray()
{
UnicodeEncoding encoding = new UnicodeEncoding();
byte[] player_bytes = encoding.GetBytes(player);
byte[] description_bytes = encoding.GetBytes(description);
byte[] bytes = new byte[12 + player_bytes.Length + description_bytes.Length + image.Length];
int array_index = 0;
KLFCommon.intToBytes(index).CopyTo(bytes, array_index);
array_index += 4;
KLFCommon.intToBytes(player_bytes.Length).CopyTo(bytes, array_index);
array_index += 4;
player_bytes.CopyTo(bytes, array_index);
array_index += player_bytes.Length;
KLFCommon.intToBytes(description_bytes.Length).CopyTo(bytes, array_index);
array_index += 4;
description_bytes.CopyTo(bytes, array_index);
array_index += description_bytes.Length;
image.CopyTo(bytes, array_index);
return bytes;
}