namespace Holo.Virtual.Users.Messenger { using Holo; using Holo.Managers; using Holo.Virtual.Users; using Ion.Storage; using System; internal class virtualBuddy { private bool inRoom; internal bool Online; private virtualUser User; internal int userID; internal virtualBuddy(int userID) { this.User = userManager.getUser(userID); this.userID = userID; bool updated = this.Updated; } internal string ToString(bool includeUsername) { this.User = userManager.getUser(this.userID); string str = Encoding.encodeVL64(this.userID); string str2 = ""; if (this.Online) { str2 = this.User._Username; } else { using (DatabaseClient client = Eucalypt.dbManager.GetClient()) { str2 = client.getString("SELECT name FROM users WHERE id = '" + this.userID + "'"); } } str = str + str2 + Convert.ToChar(2); bool flag = this.User != null; if (flag) { str = str + "II"; if (this.inRoom) { str = str + "I"; } else { str = str + "H"; } } else { str = str + "IHH"; } if (flag) { string str3 = this.User._Figure; str = str + str3 + Convert.ToChar(2); } else { str = str + Convert.ToChar(2); } if (flag) { string str4 = this.User._Mission; object obj2 = str; str = string.Concat(new object[] { obj2, "H", str4, Convert.ToChar(2) }); } else { str = str + "H" + Convert.ToChar(2); } if (flag) { return (str + Convert.ToChar(2)); } using (DatabaseClient client2 = Eucalypt.dbManager.GetClient()) { string str5 = client2.getString("SELECT lastvisit FROM users WHERE id = '" + this.userID + "'"); return (str + str5 + Convert.ToChar(2)); } } internal bool Updated { get { bool flag = this.User != null; bool flag2 = false; if (flag) { flag2 = this.User.roomUser != null; } if ((flag2 == this.inRoom) && (flag == this.Online)) { return false; } this.Online = flag; this.inRoom = flag2; return true; } } } }