using System;
using System.Data;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using Ion.Storage;
namespace Ion.HabboHotel.Client
{
public partial class ClientMessageHandler
{
private const bool ENABLE_MESSENGER = true;
///
/// 7 - "@G"
///
public void InfoRetrieve()
{
if (mSession.GetHabbo() != null)
{
Response.Initialize(ResponseOpcodes.UserObject); // "@E"
Response.AppendObject(mSession.GetHabbo());
SendResponse();
}
}
///
/// 8 - "@H"
///
public void GetCredits()
{
if (mSession.GetHabbo() != null)
{
Response.Initialize(ResponseOpcodes.CreditBalance); // "@F"
Response.Append(mSession.GetHabbo().Coins);
Response.Append(".0");
SendResponse();
}
}
///
/// 12 - "@L"
///
private void MessengerInit()
{
if (mSession.InitializeMessenger())
{
// Register handlers
RegisterMessenger();
Response.Initialize(ResponseOpcodes.MessengerInit); // "@L"
Response.AppendString(mSession.GetHabbo().Motto);
SendResponse();
//TO DO: LIST FRIENDS
}
}
///
/// 26 - "@Z"
///
public void ScrGetUserInfo()
{
string sSubscription = Request.PopFixedString();
Response.Initialize(ResponseOpcodes.ScrSendUserInfo); // "@G"
Response.AppendString(sSubscription);
Response.AppendInt32(1337);
Response.AppendInt32(0);
Response.AppendInt32(0);
Response.AppendBoolean(true);
SendResponse();
}
///
/// 157 - "B]"
///
public void GetBadges()
{
}
///
/// 233 - "EA"
///
private void GetIgnoredUsers()
{
Response.Initialize(ResponseOpcodes.IgnoredUsers); // "Fd"
Response.AppendString("Aaron");
Response.AppendString("office.boy");
Response.AppendString("Phoenix");
SendResponse();
}
///
/// 370 - "Er"
///
private void GetAchievements()
{
// Get achievements from Database
List achievements = IonEnvironment.GetHabboHotel().GetAchievements().GetAchievements(mSession.GetHabbo().ID);
// Build response
Response.Initialize(ResponseOpcodes.Achievements); // "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);
}
}
}