public static void TestByteIntArrTrans()
 {
     int[] array = new int[]
     {
         3333,
         77777777
     };
     byte[] array2 = FOGameFowOfflineSerializer.IntArrToByteArr(array);
     DebugHelper.Assert(array2.Length == 8);
     int[] array3 = FOGameFowOfflineSerializer.ByteArrToIntArr(array2);
     DebugHelper.Assert(array3.Length == array.Length);
     DebugHelper.Assert(array3[0] == array[0]);
     DebugHelper.Assert(array3[1] == array[1]);
     uint[] array4 = new uint[]
     {
         50005u,
         9999999u
     };
     array[0] = (int)array4[0];
     array[1] = (int)array4[1];
     byte[] array5 = FOGameFowOfflineSerializer.IntArrToByteArr(array);
     DebugHelper.Assert(array5.Length == 8);
     uint[] array6 = FOGameFowOfflineSerializer.ByteArrToUIntArr(array5);
     DebugHelper.Assert(array6.Length == array4.Length);
     DebugHelper.Assert(array6[0] == array4[0]);
     DebugHelper.Assert(array6[1] == array4[1]);
 }
    public bool SaveTo(FieldObj inFieldObj)
    {
        DebugHelper.Assert(inFieldObj != null);
        DebugHelper.Assert(inFieldObj.m_fowCells != null);
        MemoryStream memoryStream = new MemoryStream();
        BinaryWriter binaryWriter = new BinaryWriter(memoryStream);

        binaryWriter.Write(this.VerificationCode);
        binaryWriter.Write(this.Version);
        binaryWriter.Write(this.CrcCode);
        int num = inFieldObj.NumX * inFieldObj.NumY;

        binaryWriter.Write(num);
        for (int i = 0; i < num; i++)
        {
            FOWSurfCell fOWSurfCell = inFieldObj.m_fowCells[i];
            if (fOWSurfCell.bValid)
            {
                int dataSize = fOWSurfCell.GetDataSize();
                binaryWriter.Write(dataSize);
                DebugHelper.Assert(fOWSurfCell.data != null);
                int[] array = new int[fOWSurfCell.data.Length];
                for (int j = 0; j < array.Length; j++)
                {
                    array[j] = (int)fOWSurfCell.data[j];
                }
                byte[] array2 = FOGameFowOfflineSerializer.IntArrToByteArr(array);
                binaryWriter.Write(array2, 0, array2.Length);
            }
            else
            {
                int num2 = 0;
                binaryWriter.Write(num2);
            }
        }
        binaryWriter.Write(987654321);
        binaryWriter.Flush();
        memoryStream.Flush();
        inFieldObj.fowOfflineData = memoryStream.ToArray();
        binaryWriter.Close();
        memoryStream.Close();
        return(true);
    }