Deserialize() public method

public Deserialize ( BinaryReader reader ) : void
reader System.IO.BinaryReader
return void
コード例 #1
0
        public void Deserialize(BinaryReader reader)
        {
            RoutineID      = reader.ReadUInt16();
            CheckRoutineID = reader.ReadUInt16();
            Callee         = reader.ReadInt16();
            StackObject    = reader.ReadInt16();
            IconOwner      = reader.ReadInt16();

            CodeOwnerGUID = reader.ReadUInt32();
            if (reader.ReadBoolean())
            {
                Name = reader.ReadString();
            }

            var argsLen = reader.ReadInt32();

            if (argsLen > -1)
            {
                Args = new short[argsLen];
                for (int i = 0; i < argsLen; i++)
                {
                    Args[i] = reader.ReadInt16();
                }
            }

            InteractionNumber = reader.ReadInt32();
            NotifyIdle        = reader.ReadBoolean();

            Priority = reader.ReadInt16();
            Mode     = (VMQueueMode)reader.ReadByte();
            Flags    = (TTABFlags)reader.ReadUInt32();
            Flags2   = (TSOFlags)reader.ReadUInt32();

            UID = reader.ReadUInt16();

            if (reader.ReadBoolean())
            {
                Callback = new VMActionCallbackMarshal();
                Callback.Deserialize(reader);
            }

            if (Version > 11)
            {
                InteractionResult  = reader.ReadSByte();
                ResultCheckCounter = reader.ReadUInt16();
            }
        }
コード例 #2
0
        public void Deserialize(BinaryReader reader)
        {
            RoutineID = reader.ReadUInt16();
            Callee = reader.ReadInt16();
            StackObject = reader.ReadInt16();
            IconOwner = reader.ReadInt16();

            CodeOwnerGUID = reader.ReadUInt32();
            if (reader.ReadBoolean()) Name = reader.ReadString();

            var argsLen = reader.ReadInt32();
            if (argsLen > -1)
            {
                Args = new short[argsLen];
                for (int i = 0; i < argsLen; i++) Args[i] = reader.ReadInt16();
            }

            InteractionNumber = reader.ReadInt32();
            Cancelled = reader.ReadBoolean();
            Priority = (VMQueuePriority)reader.ReadByte();
            UID = reader.ReadUInt16();

            if (reader.ReadBoolean())
            {
                Callback = new VMActionCallbackMarshal();
                Callback.Deserialize(reader);
            }
        }