/// <summary> /// Deserializes the specified serialized data to this instance. /// </summary> /// <param name="serializedData">The serialized data.</param> /// <returns> /// The deserialization result. /// </returns> private SerializableSettings.DeserializationResult Deserialize(SerializableSettings.BinaryData serializedData) { if (serializedData == null || serializedData.Left == 0) { return(SerializableSettings.DeserializationResult.EndOfData); } serializedData.ResetLocalCheckSum(); ulong version = serializedData.GetVersion(); if (version > 0) { Log.Warning(this, "Deserialize", "Serialized data version too high!", version, 0); return(SerializableSettings.DeserializationResult.Error); } this.VehicleId = serializedData.GetUshort(); this.targetBuildingId = serializedData.GetUshort(); this.dispatcherType = serializedData.GetDispatcherType(); this.checkFlags = serializedData.GetVehicleFlags(); this.checkFlagPosition = serializedData.GetVector3(); this.checkFlagSinceFrame = serializedData.GetUint(); this.checkFlagSinceTime = serializedData.GetDouble(); this.confusedDeAssignedSinceFrame = serializedData.GetUint(); this.confusedSinceFrame = serializedData.GetUint(); this.confusedSinceTime = serializedData.GetDouble(); this.lostSinceFrame = serializedData.GetUint(); this.lostSinceTime = serializedData.GetDouble(); this.lostReason = serializedData.GetLostReason(); serializedData.CheckLocalCheckSum(); return(SerializableSettings.DeserializationResult.Success); }