Beispiel #1
0
        public ServerMessage Handle(ValueHolder valueHolder = null)
        {
            List <Badge> badges = valueHolder.GetValue <List <Badge> >("Badges");

            ServerMessage message = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_201211141113_913728051);

            message.Init(r63bOutgoing.AddBadges);
            message.AppendInt32(badges.Count);

            List <Badge> slotBadges = new List <Badge>();

            foreach (Badge badge in badges)
            {
                if (badge.SlotID > 0)
                {
                    slotBadges.Add(badge);
                }
                else
                {
                    message.AppendInt32(BadgeManager.GetBadgeID(badge.BadgeID));
                    message.AppendString(badge.BadgeID);
                }
            }
            foreach (Badge badge in slotBadges.OrderBy(b => b.SlotID)) //we don't want order whole badge list, fixes issue badges not showing on correct slot id
            {
                message.AppendInt32(BadgeManager.GetBadgeID(badge.BadgeID));
                message.AppendString(badge.BadgeID);
            }

            message.AppendInt32(slotBadges.Count);
            foreach (Badge badge in slotBadges)
            {
                message.AppendInt32(badge.SlotID);
                message.AppendString(badge.BadgeID);
            }
            return(message);
        }
        public ServerMessage Handle(ValueHolder valueHolder = null)
        {
            List <Badge> badges = valueHolder.GetValue <List <Badge> >("Badges");

            ServerMessage message = BasicUtilies.GetRevisionServerMessage(Revision.R26_20080915_0408_7984_61ccb5f8b8797a3aba62c1fa2ca80169);

            message.Init(r26Outgoing.Badges);
            message.AppendInt32(badges.Count);

            List <Badge> slotBadges = new List <Badge>();

            foreach (Badge badge in badges)
            {
                if (badge.SlotID > 0)
                {
                    slotBadges.Add(badge);
                }
                else
                {
                    BadgeManager.GetBadgeID(badge.BadgeID);
                    message.AppendString(badge.BadgeID);
                }
            }
            foreach (Badge badge in slotBadges.OrderBy(b => b.SlotID)) //we don't want order whole badge list, fixes issue badges not showing on correct slot id
            {
                BadgeManager.GetBadgeID(badge.BadgeID);
                message.AppendString(badge.BadgeID);
            }

            foreach (Badge badge in slotBadges)
            {
                message.AppendInt32(badge.SlotID);
                message.AppendString(badge.BadgeID);
            }
            return(message);
        }