UELib.Core.UObject.BeginDeserializing C# (CSharp) Method

BeginDeserializing() public method

Notifies this object instance to make a copy of this object's data from the Owner.Stream and then start deserializing this instance.
public BeginDeserializing ( ) : void
return void
        public void BeginDeserializing()
        {
            // Imported objects cannot be deserialized!
            if( ImportTable != null )
            {
                return;
            }

            // e.g. None.
            if( ExportTable.SerialSize == 0 )
            {
                DeserializationState |= ObjectState.Deserialied;
                return;
            }

            InitBuffer();
            try
            {
            #if DEBUG || BINARYMETADATA
                BinaryMetaData = new BinaryMetaData();
            #endif
                DeserializationState |= ObjectState.Deserializing;
                Deserialize();
                DeserializationState |= ObjectState.Deserialied;
            }
            catch( Exception e )
            {
                ThrownException = e;
                ExceptionPosition = _Buffer != null ? _Buffer.Position : -1;
                DeserializationState |= ObjectState.Errorlized;

                Console.WriteLine( e.Source + ":" + Name + ":" + e.GetType().Name + " occurred while deserializing;"
                    + "\r\n" + e.StackTrace
                    + "\r\n" + e.Message
                );
            }
            finally
            {
                DeserializationState &= ~ObjectState.Deserializing;
                MaybeDisposeBuffer();
            }
        }