本文整理汇总了C#中Mercury.Messages.ServerMessage类的典型用法代码示例。如果您正苦于以下问题:C# ServerMessage类的具体用法?C# ServerMessage怎么用?C# ServerMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ServerMessage类属于Mercury.Messages命名空间,在下文中一共展示了ServerMessage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Trade
internal Trade(uint UserOneId, uint UserTwoId, uint RoomId)
{
this.oneId = UserOneId;
this.twoId = UserTwoId;
this.Users = new TradeUser[2];
this.Users[0] = new TradeUser(UserOneId, RoomId);
this.Users[1] = new TradeUser(UserTwoId, RoomId);
this.TradeStage = 1;
this.RoomId = RoomId;
TradeUser[] users = this.Users;
for (int i = 0; i < users.Length; i++)
{
TradeUser tradeUser = users[i];
if (!tradeUser.GetRoomUser().Statusses.ContainsKey("trd"))
{
tradeUser.GetRoomUser().AddStatus("trd", "");
tradeUser.GetRoomUser().UpdateNeeded = true;
}
}
ServerMessage serverMessage = new ServerMessage(Outgoing.TradeStartMessageComposer);
serverMessage.AppendUInt(UserOneId);
serverMessage.AppendInt32(1);
serverMessage.AppendUInt(UserTwoId);
serverMessage.AppendInt32(1);
this.SendMessageToUsers(serverMessage);
}
示例2: Serialize
internal void Serialize(ServerMessage Request)
{
Request.AppendUInt(this.FromUser);
Request.AppendString(this.mUsername);
Habbo habboForName = MercuryEnvironment.getHabboForName(this.mUsername);
Request.AppendString((habboForName != null) ? habboForName.Look : "");
}
示例3: Compose
internal static ServerMessage Compose(GameClient Session, Quest Quest)
{
int amountOfQuestsInCategory = MercuryEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Quest.Category);
int i = (Quest == null) ? amountOfQuestsInCategory : Quest.Number;
int i2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
ServerMessage serverMessage = new ServerMessage(Outgoing.QuestCompletedMessageComposer);
serverMessage.AppendString(Quest.Category);
serverMessage.AppendInt32(i);
serverMessage.AppendInt32(Quest.Name.Contains("xmas2012") ? 1 : amountOfQuestsInCategory);
serverMessage.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
serverMessage.AppendUInt((Quest == null) ? 0u : Quest.Id);
serverMessage.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
serverMessage.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
serverMessage.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
serverMessage.AppendInt32((Quest == null) ? 0 : Quest.Reward);
serverMessage.AppendString((Quest == null) ? string.Empty : Quest.Name);
serverMessage.AppendInt32(i2);
serverMessage.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
serverMessage.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
serverMessage.AppendString("");
serverMessage.AppendString("");
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
return serverMessage;
}
示例4: ForumDataMessage
internal ServerMessage ForumDataMessage(uint RequesterId)
{
ServerMessage Message = new ServerMessage(Outgoing.GroupForumDataMessageComposer);
Message.AppendUInt(this.Id);
Message.AppendString(this.Name);//nombre del foro
Message.AppendString(this.Description);
Message.AppendString(this.Badge);
Message.AppendInt32(0);// nosé
Message.AppendInt32(0);
Message.AppendUInt(this.ForumMessagesCount);//Mensajes
Message.AppendInt32(0);//Mensajes no leídos
Message.AppendInt32(0);//mensajes?
Message.AppendUInt(this.ForumLastPosterId);//Id de quien publicó el último mensaje
Message.AppendString(this.ForumLastPosterName);//Quién publicó eL último mensaje.
Message.AppendInt32(this.ForumLastPostTime);//hace cuantos segundos se publicó
Message.AppendInt32(0);
Message.AppendInt32(1);
Message.AppendInt32(1);
Message.AppendInt32(2);
Message.AppendString(""); // (si no está vacío: Acceso denegado para ver el foro)
Message.AppendString((this.Members.ContainsKey(RequesterId) ? "" : "not_member"));
Message.AppendString((this.Members.ContainsKey(RequesterId) ? "" : "not_member"));
Message.AppendString((this.Admins.ContainsKey(RequesterId) ? "" : "not_admin"));
Message.AppendString(""); //
Message.AppendBoolean(false);
Message.AppendBoolean(false);
return Message;
}
示例5: SerializeQuest
internal static void SerializeQuest(ServerMessage Message, GameClient Session, Quest Quest, string Category)
{
if (Message == null || Session == null)
{
return;
}
int amountOfQuestsInCategory = MercuryEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Category);
checked
{
int num = (Quest == null) ? amountOfQuestsInCategory : (Quest.Number - 1);
int num2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
if (Quest != null && Quest.IsCompleted(num2))
{
num++;
}
Message.AppendString(Category);
Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : num));
Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : amountOfQuestsInCategory));
Message.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
Message.AppendUInt((Quest == null) ? 0u : Quest.Id);
Message.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
Message.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
Message.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
Message.AppendInt32((Quest == null) ? 0 : Quest.Reward);
Message.AppendString((Quest == null) ? string.Empty : Quest.Name);
Message.AppendInt32(num2);
Message.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
Message.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
Message.AppendString("");
Message.AppendString("");
Message.AppendBoolean(true);
}
}
示例6: SmallPromoComposer
internal ServerMessage SmallPromoComposer(ServerMessage Message)
{
Message.AppendInt32(this.HotelViewPromosIndexers.Count);
foreach (SmallPromo current in this.HotelViewPromosIndexers)
{
current.Serialize(Message);
}
return Message;
}
示例7: SerializeTool
internal ServerMessage SerializeTool()
{
ServerMessage serverMessage = new ServerMessage(Outgoing.LoadModerationToolMessageComposer);
serverMessage.AppendInt32(this.Tickets.Count);
foreach (SupportTicket current in this.Tickets)
{
current.Serialize(serverMessage);
}
serverMessage.AppendInt32(this.UserMessagePresets.Count);
foreach (string current2 in this.UserMessagePresets)
{
serverMessage.AppendString(current2);
}
IEnumerable<ModerationTemplate> enumerable =
from x in this.ModerationTemplates.Values
where x.Category == -1
select x;
serverMessage.AppendInt32(enumerable.Count<ModerationTemplate>());
using (IEnumerator<ModerationTemplate> enumerator3 = enumerable.GetEnumerator())
{
while (enumerator3.MoveNext())
{
ModerationTemplate Template = enumerator3.Current;
IEnumerable<ModerationTemplate> enumerable2 =
from x in this.ModerationTemplates.Values
where (long)x.Category == (long)((ulong)Template.Id)
select x;
serverMessage.AppendString(Template.Caption);
serverMessage.AppendBoolean(true);
serverMessage.AppendInt32(enumerable2.Count<ModerationTemplate>());
foreach (ModerationTemplate current3 in enumerable2)
{
serverMessage.AppendString(current3.Caption);
serverMessage.AppendString(current3.BanMessage);
serverMessage.AppendInt32((int)current3.BanHours);
serverMessage.AppendInt32(MercuryEnvironment.BoolToInteger(current3.AvatarBan));
serverMessage.AppendInt32(MercuryEnvironment.BoolToInteger(current3.Mute));
serverMessage.AppendInt32(MercuryEnvironment.BoolToInteger(current3.TradeLock));
serverMessage.AppendString(current3.WarningMessage);
}
}
}
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
serverMessage.AppendInt32(this.RoomMessagePresets.Count);
foreach (string current4 in this.RoomMessagePresets)
{
serverMessage.AppendString(current4);
}
return serverMessage;
}
示例8: Serialize
internal ServerMessage Serialize(ServerMessage Composer)
{
Composer.AppendInt32(this.Index);
Composer.AppendString(this.Header);
Composer.AppendString(this.Body);
Composer.AppendString(this.Button);
Composer.AppendInt32(this.inGamePromo);
Composer.AppendString(this.SpecialAction);
Composer.AppendString(this.Image);
return Composer;
}
示例9: GenerateExtraData
internal ServerMessage GenerateExtraData(ServerMessage Message)
{
Message.AppendInt32(0);
Message.AppendInt32(5);
Message.AppendInt32(4);
Message.AppendInt32(this.Enabled);
Message.AppendInt32(this.Data1);
Message.AppendInt32(this.Data2);
Message.AppendInt32(this.Data3);
return Message;
}
示例10: Compose
internal static ServerMessage Compose(int PlaylistCapacity, List<SongInstance> Playlist)
{
ServerMessage serverMessage = new ServerMessage(Outgoing.JukeboxPlaylistMessageComposer);
serverMessage.AppendInt32(PlaylistCapacity);
serverMessage.AppendInt32(Playlist.Count);
foreach (SongInstance current in Playlist)
{
serverMessage.AppendUInt(current.DiskItem.itemID);
serverMessage.AppendUInt(current.SongData.Id);
}
return serverMessage;
}
示例11: Compose
internal static ServerMessage Compose(GameClient Session, List<Quest> Quests, bool Send)
{
Dictionary<string, int> dictionary = new Dictionary<string, int>();
Dictionary<string, Quest> dictionary2 = new Dictionary<string, Quest>();
foreach (Quest current in Quests)
{
if (!current.Category.Contains("xmas2012"))
{
if (!dictionary.ContainsKey(current.Category))
{
dictionary.Add(current.Category, 1);
dictionary2.Add(current.Category, null);
}
if (current.Number >= dictionary[current.Category])
{
int questProgress = Session.GetHabbo().GetQuestProgress(current.Id);
if (Session.GetHabbo().CurrentQuestId != current.Id && (long)questProgress >= (long)((ulong)current.GoalData))
{
dictionary[current.Category] = checked(current.Number + 1);
}
}
}
}
foreach (Quest current2 in Quests)
{
foreach (KeyValuePair<string, int> current3 in dictionary)
{
if (!current2.Category.Contains("xmas2012") && current2.Category == current3.Key && current2.Number == current3.Value)
{
dictionary2[current3.Key] = current2;
break;
}
}
}
ServerMessage serverMessage = new ServerMessage(Outgoing.QuestListMessageComposer);
serverMessage.AppendInt32(dictionary2.Count);
foreach (KeyValuePair<string, Quest> current4 in dictionary2)
{
if (current4.Value != null)
{
QuestListComposer.SerializeQuest(serverMessage, Session, current4.Value, current4.Key);
}
}
foreach (KeyValuePair<string, Quest> current5 in dictionary2)
{
if (current5.Value == null)
{
QuestListComposer.SerializeQuest(serverMessage, Session, current5.Value, current5.Key);
}
}
serverMessage.AppendBoolean(Send);
return serverMessage;
}
示例12: Searialize
internal void Searialize(ServerMessage reply)
{
reply.AppendUInt(this.userID);
reply.AppendString(this.username);
reply.AppendString(this.motto);
bool b = MercuryEnvironment.GetGame().GetClientManager().GetClient(this.userID) != null;
reply.AppendBoolean(b);
reply.AppendBoolean(false);
reply.AppendString(string.Empty);
reply.AppendInt32(0);
reply.AppendString(this.look);
reply.AppendString(this.last_online);
}
示例13: GetPacket
internal ServerMessage GetPacket()
{
ServerMessage serverMessage = new ServerMessage(Outgoing.EffectsInventoryMessageComposer);
serverMessage.AppendInt32(this.Effects.Count);
foreach (AvatarEffect current in this.Effects)
{
serverMessage.AppendInt32(current.EffectId);
serverMessage.AppendInt32(0);
serverMessage.AppendInt32(current.TotalDuration);
serverMessage.AppendInt32(0);
serverMessage.AppendInt32(current.TimeLeft);
}
return serverMessage;
}
示例14: ComposeIndex
internal static ServerMessage ComposeIndex(uint Rank)
{
var Pages = MercuryEnvironment.GetGame().GetCatalog().Categories.Values.OfType<CatalogPage>();
ServerMessage Message = new ServerMessage(Outgoing.CatalogueIndexMessageComposer);
var SortedPages = Pages.Where(x => x.ParentId == -1 && x.MinRank <= Rank).OrderBy(x => x.OrderNum);
Message.AppendBoolean(true);
Message.AppendInt32(0);
Message.AppendInt32(-1);
Message.AppendString("root");
Message.AppendString(string.Empty);
Message.AppendInt32(0);
Message.AppendInt32(SortedPages.Count());
foreach (CatalogPage Cat in SortedPages)
{
Message.AppendBoolean(Cat.Visible);
Message.AppendInt32(Cat.IconImage);
Message.AppendInt32(Cat.PageId);
Message.AppendString(Cat.CodeName);
Message.AppendString(Cat.Caption);
Message.AppendInt32(Cat.FlatOffers.Count);
foreach (int i in Cat.FlatOffers.Keys)
{
Message.AppendInt32(i);
}
var SortedSubPages = Pages.Where(x => x.ParentId == Cat.PageId && x.MinRank <= Rank).OrderBy(x => x.Caption);
Message.AppendInt32(SortedSubPages.Count());
foreach (CatalogPage SubCat in SortedSubPages)
{
Message.AppendBoolean(SubCat.Visible);
Message.AppendInt32(SubCat.IconImage);
Message.AppendInt32(SubCat.PageId);
Message.AppendString(SubCat.CodeName);
Message.AppendString(SubCat.Caption);
Message.AppendInt32(SubCat.FlatOffers.Count);
foreach (int i2 in SubCat.FlatOffers.Keys)
{
Message.AppendInt32(i2);
}
Message.AppendInt32(0);
}
}
Message.AppendBoolean(false);
Message.AppendString("NORMAL");
return Message;
}
示例15: SerializeFlatCategories
internal ServerMessage SerializeFlatCategories(GameClient Session)
{
ServerMessage serverMessage = new ServerMessage(Outgoing.FlatCategoriesMessageComposer);
serverMessage.AppendInt32(this.PrivateCategories.Count);
foreach (FlatCat flatCat in this.PrivateCategories.Values)
{
serverMessage.AppendInt32(flatCat.Id);
serverMessage.AppendString(flatCat.Caption);
serverMessage.AppendBoolean(flatCat.MinRank <= Session.GetHabbo().Rank);
serverMessage.AppendBoolean(false); // New Build Fix by Finn
serverMessage.AppendString("NONE"); // New Build Fix by Finn
serverMessage.AppendString(""); // New Build Fix by Finn
}
return serverMessage;
}