/// <summary>
        ///     Initializes a new instance of the <see cref="RestoreProgressEvent" /> class.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="client"></param>
        internal RestoreProgressEvent(BotBitsClient client, Message message)
            : base(client, message)
        {
            this.X         = message.GetDouble(1);
            this.Y         = message.GetDouble(2);
            this.GoldCoins = message.GetInteger(3);
            this.BlueCoins = message.GetInteger(4);
            var goldCoinPosXs = message.GetByteArray(5);
            var goldCoinPosYs = message.GetByteArray(6);

            this.GoldCoinPoints = WorldUtils.GetPos(goldCoinPosXs, goldCoinPosYs).ToArray();
            var blueCoinPosXs = message.GetByteArray(7);
            var blueCoinPosYs = message.GetByteArray(8);

            this.BlueCoinPoints = WorldUtils.GetPos(blueCoinPosXs, blueCoinPosYs).ToArray();
            this.Deaths         = message.GetInteger(9);
            this.CheckpointX    = message.GetInteger(10);
            this.CheckpointY    = message.GetInteger(11);
            this.PurpleSwitches = message.GetByteArray(12).Select(i => (int)i).ToArray();
            this.SpeedX         = message.GetDouble(13);
            this.SpeedX         = message.GetDouble(14);
        }