Clear() public method

Clear this instance.
public Clear ( ) : void
return void
        public S_SHOW_PARTY_MATCH_INFO(TeraMessageReader reader) : base(reader)
        {
            var count  = reader.ReadUInt16();
            var offset = reader.ReadUInt16();
            var page   = reader.ReadInt16();
            var pages  = reader.ReadInt16();

            if (page == 0)
            {
                Listings.Clear();
            }
            if (count == 0)
            {
                Listings.Clear();
                IsLast = true;
                return;
            }

            reader.BaseStream.Position = offset - 4;
            for (var i = 0; i < count; i++)
            {
                var l                = new Listing();
                var curr             = reader.ReadUInt16();
                var next             = reader.ReadUInt16();
                var msgOffset        = reader.ReadUInt16();
                var leaderNameOffset = reader.ReadUInt16();
                var leaderId         = reader.ReadUInt32();
                var isRaid           = reader.ReadBoolean();
                var playerCount      = reader.ReadInt16();

                reader.BaseStream.Position = msgOffset - 4;
                var msg = reader.ReadTeraString();
                reader.BaseStream.Position = leaderNameOffset - 4;
                var leaderName = reader.ReadTeraString();
                l.LeaderName  = leaderName;
                l.LeaderId    = leaderId;
                l.IsRaid      = isRaid;
                l.Message     = msg;
                l.PlayerCount = playerCount;
                Listings.Add(l);
                if (next != 0)
                {
                    reader.BaseStream.Position = next - 4;
                }
            }

            if (page < pages)
            {
                Proxy.RequestNextLfgPage(page + 1);
            }
            if (page == pages)
            {
                IsLast = true;
            }
        }
Ejemplo n.º 2
0
        public S_SHOW_PARTY_MATCH_INFO(TeraMessageReader reader) : base(reader)
        {
            var count  = reader.ReadUInt16();
            var offset = reader.ReadUInt16();
            var page   = reader.ReadInt16();
            var pages  = reader.ReadInt16();

            if (page == 0)
            {
                Listings.Clear();
            }
            if (count == 0)
            {
                Listings.Clear();
                IsLast = true;
                return;
            }

            reader.BaseStream.Position = offset - 4;
            for (var i = 0; i < count; i++)
            {
                var l = new Listing();
                reader.Skip(2); // var curr = reader.ReadUInt16();
                var next             = reader.ReadUInt16();
                var msgOffset        = reader.ReadUInt16();
                var leaderNameOffset = reader.ReadUInt16();
                var leaderId         = reader.ReadUInt32();
                var isRaid           = reader.ReadBoolean();
                var playerCount      = reader.ReadInt16();

                reader.BaseStream.Position = msgOffset - 4;
                var msg = reader.ReadTeraString();
                try
                {
                    reader.BaseStream.Position = leaderNameOffset - 4;
                }
                catch
                {
                    if (next != 0)
                    {
                        reader.BaseStream.Position = next - 4;
                    }
                    continue;
                }
                var leaderName = reader.ReadTeraString();
                l.LeaderName  = leaderName;
                l.LeaderId    = leaderId;
                l.IsRaid      = isRaid;
                l.Message     = msg;
                l.PlayerCount = playerCount;
                if (!(l.IsTrade && !Settings.ShowTradeLfg))
                {
                    Listings.Add(l);
                }
                if (next != 0)
                {
                    reader.BaseStream.Position = next - 4;
                }
            }

            if (page < pages)
            {
                if (Settings.LfgEnabled && Proxy.IsConnected)
                {
                    Proxy.RequestNextLfgPage(page + 1);
                }
            }
            if (page == pages)
            {
                IsLast = true;
            }
        }