protected internal override void DeserializeProperty(UnrealBinaryReader reader) { Value = reader.ReadGuid(); ActorState = (EFortBuildingPersistentState)reader.ReadByte(); ActorPath = reader.ReadFString(); Rotation.DeserializeProperty(reader); Location.DeserializeProperty(reader); Scale.DeserializeProperty(reader); SpawnedActor = reader.ReadInt32() == 1; PropertyByteSize = reader.ReadInt32(); long currentPosition = reader.BaseStream.Position; if (PropertyByteSize > 0) { ActorData = reader.ReadProperties(); reader.ReadInt32(); //? } long remainingBytes = PropertyByteSize - (reader.BaseStream.Position - currentPosition); if (remainingBytes > 0) { UnknownExtraBytes = reader.ReadBytes((int)remainingBytes); } }
protected internal override void DeserializeProperty(UnrealBinaryReader reader) { if (_structName == null || !UnrealTypes.HasPropertyName(_structName)) { Value = reader.ReadProperties(); } else { UProperty property = UnrealTypes.GetPropertyByName(_structName); property.Deserialize(reader); Value = property; } }