Esempio n. 1
0
        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;
            }
        }