예제 #1
0
        public void Send(OutBlob stream)
        {
            // don't write the packet if no indicies have been passed.
            if (!_indicies.Any())
            {
                return;
            }

            stream.BeginPacket(Id);

            stream.Write16((short)_interf.Id);

            foreach (var i in _indicies)
            {
                // write index
                if (i < 128)
                {
                    stream.Write((byte)i);
                }
                else
                {
                    stream.Write16((short)i);
                }

                var item = _container.Provider[i];
                // write id
                stream.Write16((short)item.Id.ItemId);

                // write size as byte-int32 smart
                stream.WriteByteInt32Smart(item.Amount);
            }

            stream.EndPacket();
        }
 public void Send(OutBlob stream)
 {
     stream.BeginPacket(Id);
     stream.Write16(_x);
     stream.Write16(_y);
     stream.EndPacket();
 }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);
            stream.Write(_index);
            stream.Write(_isOnTop);
            stream.WriteString(_msg);

            stream.EndPacket();
        }
예제 #4
0
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16(-1);
            stream.Write((byte)_sidebarInterfaceIndex);

            stream.EndPacket();
        }
예제 #5
0
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.WriteString(_text);
            stream.Write16((short)_id);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16((short)_dt);
            stream.Write16((short)_processTime);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(249);

            stream.Write((byte)(_isMember ? 1 : 0));
            stream.Write16((short)(_pid + 1));

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16(_id);
            stream.Write(_sidebarIndex);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write(_skillIdx);
            stream.Write32(_exp);
            stream.Write(_level);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16((short)_id);
            stream.Write16((short)_zoom);
            stream.Write16((short)_itemId);

            stream.EndPacket();
        }
예제 #11
0
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(PacketId);
            stream.BeginBitAccess();

            GenericEntityUpdateWriter.WriteIntoPacket(stream,
                                                      _syncSegments,
                                                      _initializeSegments,
                                                      _flagSegments,
                                                      NumIdBits,
                                                      MaxIdValue);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16((short)_id);

            // find upper bound in inventory
            var upperBoundIdx = 0;

            for (var i = 0; i < _container.Provider.Count; i++)
            {
                if (_container.Provider[i].IsEmpty())
                {
                    continue;
                }

                upperBoundIdx = i;
            }

            // write payload
            upperBoundIdx += 1;
            stream.Write16((short)upperBoundIdx);

            for (var i = 0; i < upperBoundIdx; i++)
            {
                var item = _container.Provider[i];
                if (item.IsEmpty())
                {
                    stream.Write(0);   // amnt
                    stream.Write16(0); // id
                    continue;
                }

                // write amount. If amount is > 255, write it as an int32
                stream.WriteByteInt32Smart(item.Amount);

                // write id
                stream.Write16((short)item.Id.ItemId);
            }

            stream.EndPacket();
        }
예제 #13
0
 public void Send(OutBlob stream)
 {
     stream.BeginPacket(Id);
     stream.EndPacket();
 }
 public void Send(OutBlob stream)
 {
     stream.BeginPacket(Id);
     stream.Write16((short)_containerId);
     stream.EndPacket();
 }