public void DeSerialize(ref int position, byte[] dataBytes) { if (dataBytes[position++] == 0) { return; } Player.Name = CommonSerializer.GetString(ref position, dataBytes); Coordinates = CommonSerializer.GetVector2(ref position, dataBytes); MoveVector = CommonSerializer.GetVector2(ref position, dataBytes); Health = CommonSerializer.GetFloat(ref position, dataBytes); ShipCrew.DeSerialize(ref position, dataBytes); ShipSupplies.DeSerialize(ref position, dataBytes); }