public static void SendInvitation() { FBInvitation FBInvitation = new FBInvitation(); FBInvitation.MessageCode = MessageCode.INVITEDBYFRIEND; FBInvitation.RoomId = GlobalContext.GameRoomId; FBInvitation.HostFBName = GlobalContext.localUsername; FBInvitation.HostFBId = GlobalContext.UserFacebookId; FBInvitation.RemoteFBId = GlobalContext.RemoteFacebookId; String jsonstring = JsonConvert.SerializeObject(FBInvitation, Formatting.None); WarpClient.GetInstance().sendPrivateChat(GlobalContext.RemoteFacebookName, jsonstring); }
public static void HandlePrivateMessage(String Message) { FBInvitation fbInvite = JsonConvert.DeserializeObject <FBInvitation>(Message); switch (fbInvite.MessageCode) { case MessageCode.INVITEDBYFRIEND: if (fbInvite.RemoteFBId.Equals(GlobalContext.UserFacebookId)) { Deployment.Current.Dispatcher.BeginInvoke(delegate() { MessageBoxResult result = MessageBox.Show("Your friend " + fbInvite.HostFBName + " inviting you to play a quiz game with him", "Invitation", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { if (!GlobalContext.GameRoomId.Equals("")) { WarpClient.GetInstance().LeaveRoom(GlobalContext.GameRoomId); WarpClient.GetInstance().JoinRoom(fbInvite.RoomId); } else { WarpClient.GetInstance().JoinRoom(fbInvite.RoomId); } } else if (result == MessageBoxResult.Cancel) { fbInvite.MessageCode = MessageCode.INVITEFRIENDRESPONSE; WarpClient.GetInstance().sendPrivateChat(fbInvite.HostFBName, JsonConvert.SerializeObject(fbInvite, Formatting.None)); } }); } break; case MessageCode.INVITEFRIENDRESPONSE: Deployment.Current.Dispatcher.BeginInvoke(delegate() { if (fbInvite.HostFBId.Equals(GlobalContext.UserFacebookId)) { MessageBoxResult result = MessageBox.Show("Your friend has denied your request", "Invitation Response", MessageBoxButton.OK); App.g_HomePageListener.ClosePopup(); } }); break; } }