Exemple #1
0
        public byte[] ToBytes()
        {
            List <byte> bytes = new List <byte>();

            bytes.AddRange(Grid.ToBytes());
            bytes.AddRange(StartPos.ToBytes());
            bytes.AddRange(MinMoves.ToBytes());
            byte flags = (byte)((Completed ? 1 : 0) << 0 | (Perfect ? 1 : 0) << 1);

            bytes.Add(flags);

            byte[] hint = Encoding.UTF8.GetBytes(Hint ?? "");
            bytes.AddRange(hint.Length.ToBytes());
            bytes.AddRange(hint);

            // Write hex data
            bytes.AddRange(Data.Length.ToBytes());

            for (int i = 0; i < Data.Length; i++)
            {
                bytes.AddRange(Data[i].ToBytes());
            }

            return(bytes.ToArray());
        }
Exemple #2
0
        /// <summary>
        /// Returns a byte array of the hex.
        /// </summary>
        /// <returns>Returns a byte array of the hex.</returns>
        public byte[] ToBytes()
        {
            List <byte> bytes = new List <byte>();

            bytes.AddRange(Position.ToBytes());

            bytes.Add((byte)IDs.Count);
            bytes.AddRange(IDs);

            return(bytes.ToArray());
        }