/* Thor Server 2.0 Project - Codenamed "Stockholm" Copyright 2008 - 2009 Joe Hegarty This file is part of The Thor Server 2.0 Project - Codenamed "Stockholm". The Thor Server 2.0 Project - Codenamed "Stockholm" is free software: you can redistribute it and/or modify it under the terms of the Microsoft Public License The Thor Server Project is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Microsoft Public License for more details. You should have received a copy of the Microsoft Public License along with The Thor Server Project. If not, see http://www.opensource.org/licenses/ms-pl.html */ using System; using System.Collections.Generic; using StockholmLibrary.Net; namespace StockholmLibrary.Game.Packets.Server { //------------------------------------ public class BadgeListPacket : ServerPacket { List _badgeList; string _currentBadge; //********************************************** public BadgeListPacket(List badgeList, string currentBadge) { _packetType = EServerPacket.BADGE_LIST; _badgeList = badgeList; _currentBadge = currentBadge; } //********************************************** protected override void SerialiseBody() { int badgeCount = _badgeList.Count; WriteIntWired(badgeCount); int currentIterator = 1; int currentBadge = 0; if (badgeCount > 0) { foreach (var badge in _badgeList) { WriteStringRaw(badge); WriteListDelimiter(); if (badge == _currentBadge) { currentBadge = currentIterator; } ++currentIterator; } } WriteIntWired(currentBadge); WriteIntWired(((currentBadge > 0) ? 1 : 0)); } } }