using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Duck.Managers;
namespace Duck.Virtual.Users.Messenger
{
public class virtualMessenger
{
#region Declares
///
/// The parent virtualUser object of this virtualMessenger.
///
internal virtualUser User;
///
/// The motto to display next to the virtual user in the virtual messenger.
///
internal string Motto;
#endregion
#region Constructors
public virtualMessenger(virtualUser User)
{
this.User = User;
this.Motto = DB.runRead("SELECT motto_console FROM users WHERE id = '" + this.User.userID + "'");
int[] buddyIDs = this.getBuddyIDs();
//StringBuilder Setup = new StringBuilder(this.Motto + Convert.ToChar(2) + Encoding.encodeVL64(200) + Encoding.encodeVL64(600) + Encoding.encodeVL64(buddyIDs.Length));
//if(buddyIDs.Length
//sendData("@LWoot\x02" + Encoding.encodeVL64(600) + Encoding.encodeVL64(200) + Encoding.encodeVL64(600) + "IJRutgert\x02ILmao!\x02IKamertje\x02" + DateTime.Now.ToString() + "\x025400160001720017300167501\x02");
foreach(int buddyID in buddyIDs)
{
//Setup.Append(Encoding.encodeVL64(buddyID));
//if (userManager.containsUser(buddyID))
//{
// virtualUser _User = userManager.getUser(buddyID);
// Setup.Append(_User._Username + Convert.ToChar(2) + Encoding.encodeVL64(_User._Sex == 'm') + _User._consoleMotto + Convert.ToChar(2) + "I");
// if (_User._Credits > 0)
// {
// if (_User.Room.Type == "publicroom")
// Setup.Append(User.Room._Name);
// else
// Setup.Append("Floor1a");
// }
// else
// Setup.Append("on Hotel View");
// Setup.Append(Convert.ToChar(2) + DateTime.Now.ToShortTimeString() + Convert.ToChar(2) + _User._Figure + Convert.ToChar(2));
//}
//else
//{
// string[] Data = DB.runReadRow("SELECT name,motto_console,figure,sex,lastonline FROM users WHERE id = '" + buddyID + "'");
// Setup.Append(Data[0] + Convert.ToChar(2) + Encoding.encodeVL64(Data[3] == "m") +
//}
}
//User.sendData("@L" + Setup.ToString());
}
///
/// Returns an integer array with the database of the messenger buddies of this user.
///
public int[] getBuddyIDs()
{
try
{
ArrayList IDs = new ArrayList();
int[] friendIDs = DB.runReadColumn("SELECT friendid FROM messenger_friendships WHERE userid = '" + this.User.userID + "'", 0, null);
for (int i = 0; i < friendIDs.Length; i++)
IDs.Add(friendIDs[i]);
friendIDs = DB.runReadColumn("SELECT userid FROM messenger_friendships WHERE friendid = '" + this.User.userID + "'", 0, null);
for (int i = 0; i < friendIDs.Length; i++)
IDs.Add(friendIDs[i]);
return (int[])IDs.ToArray(typeof(int));
}
catch {return new int[0];}
}
#endregion
}
}