using System;
using System.Collections.Generic;
using System.Data;
using Aleeda.Storage;
using Aleeda.HabboHotel.Client.Utilities;
using Aleeda.HabboHotel.Messenger;
using Aleeda.Net.Messages;
namespace Aleeda.HabboHotel.Client
{
public partial class ClientMessageHandler
{
private const bool ENABLE_MESSENGER = true;
///
/// 7 - "@G"
///
public void InfoRetrieve()
{
if (Client.GetHabbo() != null)
{
Response.Initialize(5); // "@E"
Response.AppendObject(Client.GetHabbo());
SendResponse();
}
}
///
/// 8 - "@H"
///
public void GetCredits()
{
if (Client.GetHabbo() != null)
{
Response.Initialize(6); // "@F"
Response.Append(Client.GetHabbo().Coins);
Response.Append(".0");
SendResponse();
}
}
///
/// 12 - "@L"
///
private void MessengerInit()
{
if (Client.InitializeMessenger())
{
// Register handlers
RegisterMessenger();
// Send initialization message
Response.Initialize(12); // "@L"
Response.AppendInt32(600);
Response.AppendInt32(200);
Response.AppendInt32(600);
Response.AppendBoolean(false);
Response.AppendInt32(Client.GetMessenger().GetBuddies().Count);
using (DatabaseClient dbClient = AleedaEnvironment.GetDatabase().GetClient())
{
foreach (MessengerBuddy buddy in Client.GetMessenger().GetBuddies())
{
Response.AppendObject(buddy);
}
}
SendResponse();
}
}
///
/// 26 - "@Z"
///
public void ScrGetUserInfo()
{
string sSubscription = Request.PopFixedString();
Response.Initialize(7); // "@G"
Response.AppendString(sSubscription);
Response.AppendInt32(10);
Response.AppendInt32(1);
Response.AppendInt32(1);
Response.AppendBoolean(true);
SendResponse();
}
///
/// 157 - "B]"
///
public void GetBadges()
{
}
///
/// 233 - "EA"
///
private void GetIgnoredUsers()
{
Response.Initialize(420); // "Fd"
Response.AppendString("Aaron");
Response.AppendString("office.boy");
Response.AppendString("Phoenix");
SendResponse();
}
///
/// 370 - "Er"
///
private void GetAchievements()
{
// Get achievements from Database
List achievements = AleedaEnvironment.GetHabboHotel().GetAchievements().GetAchievements(Client.GetHabbo().ID);
// Build response
Response.Initialize(229); // "Ce"
Response.AppendInt32(achievements.Count);
foreach (string achievement in achievements)
{
Response.AppendString(achievement);
}
SendResponse();
}
///
/// Registers request handlers available from successful login.
///
public void RegisterUser()
{
mRequestHandlers[7] = new RequestHandler(InfoRetrieve);
mRequestHandlers[8] = new RequestHandler(GetCredits);
mRequestHandlers[12] = new RequestHandler(MessengerInit);
mRequestHandlers[26] = new RequestHandler(ScrGetUserInfo);
mRequestHandlers[157] = new RequestHandler(GetBadges);
mRequestHandlers[233] = new RequestHandler(GetIgnoredUsers);
mRequestHandlers[370] = new RequestHandler(GetAchievements);
}
}
}