using System; using System.Collections.Generic; using System.Linq; using System.Text; using Chop.Game.Messages.IDs; using Chop.Game.User; using Chop.Rooms; namespace Chop.Game.Messages.Incoming.room.session { class OpenFlatConnectionMessageComposer: IMessageHandler { public void Handle(GameClient client, RequestParser parser) { int flatID = parser.ReadInt32(); string password = parser.ReadString(); int notUsed = parser.ReadInt32(); // ALWAYS -1 NavigatorRoom room = Core.NavigatorManager.GetRoom(flatID); if(room == null) { ResponseBuilder errorMessage = new ResponseBuilder(OutgoingMessages.NoSuchFlatEvent); errorMessage.AppendInt32(flatID); // flatId client.SendMessage(errorMessage); return; } ResponseBuilder message = new ResponseBuilder(OutgoingMessages.InterstitialMessageEvent); message.AppendString("http://"); // imageUrl message.AppendString("http://boards.4chan.org/b/"); // clickUrl client.SendMessage(message); if (client.mRoom != null) { client.mRoomUser.Destroy(); } client.mRoomUser = new RoomUser(); client.mRoomUser.mClient = client; client.mRoomUser.mEnteringRoomID = flatID; //// All checks done, notify client. //message = message = new ResponseBuilder(OutgoingMessages.OpenConnectionMessageEvent); //client.SendMessage(message); message = new ResponseBuilder(OutgoingMessages.RoomReadyMessageEvent); message.AppendString(room.mModel); // if starts with "model_", roomCategory = 1 message.AppendInt32(flatID); client.SendMessage(message); //OutgoingMessages.UserNotificationMessageEvent } } }