コード例 #1
0
      public void Eat(string nick, BBConversation conversation)
      {
         // Create a message
         BBMessage msg = new BBMessage();
         msg.MsgEat("", PList.GetPlayer(nick, OurID).Carac.ActorID);
         msg.Conversation = conversation;

         // Send use the ReliableUnordered channel; ie. it WILL arrive, but not necessarily in order
         Client.SendMessage(msg.GetNetMessage(), NetChannel.ReliableUnordered);
      }
コード例 #2
0
      public void PrivateMessage(BBConversation convers, string text, string actualnick)
      {
         if (convers != null)
         {
            Player player = PList.GetPlayer(actualnick, OurID);
            if (player != null)
            {
               // Create a message
               BBMessage msg = new BBMessage();
               msg.Conversation = convers;
               msg.PlayerCarac = player.Carac;
               msg.MsgPrivateMessage(text, actualnick);
               msg.Message = text;

               if (msg.PlayerCarac != null)
                  // Send use the ReliableUnordered channel; ie. it WILL arrive, but not necessarily in order
                  Client.SendMessage(msg.GetNetMessage(), NetChannel.ReliableUnordered);
            }
         }
      }
コード例 #3
0
ファイル: Program.cs プロジェクト: TerenceWallace/bloodbox
 internal static void PrivateMessage(BBConversation bBConversation, string p, string p_3)
 {
    Program.ChatApplicationBusiness.PrivateMessage(bBConversation, p, p_3);
 }
コード例 #4
0
      /// <summary>
      /// Vérifie que l'utilisateur fait partie de la conversation
      /// </summary>
      /// <param name="conversation"></param>
      /// <returns></returns>
      private bool IsPartOfConversation(BBConversation conversation)
      {
         if (conversation == null)
            return true;

         foreach (string play in conversation.Players)
         {
            if (PList.GetPlayer(play, OurID) != null)
            {
               if (OurID == PList.GetPlayer(play, OurID).Carac.ActorID)
                  return true;
            }
         }

         return false;
      }
コード例 #5
0
ファイル: BBMessage.cs プロジェクト: TerenceWallace/bloodbox
 public void MsgChatHelper(string text, PlayerCarac player, BBMessage message)
 {
    MsgType = BBMsgType.CHAT;
    Conversation = message.Conversation;
    PlayerCarac = player;
    Message = text;
    Param1 = text;         
 }
コード例 #6
0
ファイル: Program.cs プロジェクト: TerenceWallace/bloodbox
 internal static void LeaveConversation(BBConversation BBConversation, string p)
 {
    Program.ChatApplicationBusiness.LeaveConversation(BBConversation, p);
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: TerenceWallace/bloodbox
 static void _chatApplicationBusiness_UserTyping(PlayerCarac playerCarac, BBConversation conversation, bool isTyping)
 {
    if (conversation == null)
       MainForm.UserIsTypingMsg(playerCarac.Nick, isTyping);
    else
       MainForm.UserIsTypingMsg(playerCarac.Nick, isTyping, conversation);
 }
コード例 #8
0
      public BBConversation StartPrivateConversation(List<string> users)
      {
         BBConversation conversation = new BBConversation(users);

         //BBMessage msg = new BBMessage();
         //msg.Conversation = conversation;
         foreach (string str in users)
         {
            this.JoinConversation(conversation, str);
         }

         return conversation;
      }
コード例 #9
0
ファイル: ChatForm.cs プロジェクト: TerenceWallace/bloodbox
      /// <summary>
      /// Création d'un tabpage
      /// </summary>
      /// <param name="message"></param>
      /// <returns></returns>
      private TabPage CreateTabPage(BBConversation conversation)
      {
         if (conversation != null)
         {
            this.tabControl1.TabPages.Add(conversation.ConversGUID.ToString(), conversation.ToString());

            if (this.tabControl1.TabPages.ContainsKey(conversation.ConversGUID.ToString()))
            {
               TabPage tabPage = this.tabControl1.TabPages[conversation.ConversGUID.ToString()];
               if (tabPage != null)
               {
                  RichTextBox richTextBox = new RichTextBox();
                  richTextBox.ReadOnly = true;
                  richTextBox.Dock = DockStyle.Fill;
                  richTextBox.BackColor = Color.White;
                  tabPage.BorderStyle = BorderStyle.FixedSingle;
                  tabPage.Controls.Add(richTextBox);

                  //Le tag de la tabpage correspond à la conversation
                  tabPage.Tag = conversation;

                  return tabPage;
               }
               else
                  return null;
            }
            else
               return null;
         }
         else
            return null;
      }
コード例 #10
0
ファイル: ChatForm.cs プロジェクト: TerenceWallace/bloodbox
      public void UserIsTypingMsg(string nick, bool isTyping, BBConversation convers)
      {
         if ((this.tabControl1.SelectedTab.Tag != null) && (this.tabControl1.SelectedTab.Tag is BBConversation))
         {
            if (convers.ConversGUID == ((BBConversation)this.tabControl1.SelectedTab.Tag).ConversGUID)
            {
               DataGridViewRow dgvr = this.GetRowByUserName(nick);
               if (dgvr != null)
               {
                  if (isTyping)
                  {
                     dgvr.Cells[this.LogoColumn.Index].Value = this.imageList_user.Images[1];
                  }
                  else
                  {
                     dgvr.Cells[this.LogoColumn.Index].Value = this.imageList_user.Images[0];
                  }

               }
            }
         }
      }
コード例 #11
0
ファイル: ChatForm.cs プロジェクト: TerenceWallace/bloodbox
 private void AddPlayerIntoConversation(BBConversation conversation, string player)
 {
    if ((conversation != null) && (!conversation.Players.Contains(player)))
    {
       conversation.Players.Add(player);
       Program.JoinConversation(conversation, player);
    }
 }
コード例 #12
0
ファイル: BBMessage.cs プロジェクト: TerenceWallace/bloodbox
 public void MsgChatBash(string text, PlayerCarac player, bool toDisplay, BBMessage message)
 {
    MsgType = BBMsgType.BASH;
    Conversation = message.Conversation;
    PlayerCarac = player;
    Message = text;
    Param1 = text;
    Param2 = toDisplay;
 }
コード例 #13
0
ファイル: BBMessage.cs プロジェクト: TerenceWallace/bloodbox
 public void MsgChatPendu(string text, PlayerCarac player, bool alert, BBMessage message)
 {
    MsgType = BBMsgType.PENDU;
    Conversation = message.Conversation;
    PlayerCarac = player;
    Message = text;
    Param1 = text;
    Param2 = alert;
 }
コード例 #14
0
      public void LeaveConversation(BBConversation convers, string actualnick)
      {
         if (convers != null)
         {
            if (convers.Players.Contains(actualnick))
            {
               convers.Players.Remove(actualnick);

               if (PList.GetPlayer(actualnick, OurID) != null)
               {
                  BBMessage msg = new BBMessage();
                  msg.Conversation = convers;

                  msg.MsgLeaveConversationPlayer(PList.GetPlayer(actualnick, OurID).Carac.ActorID, string.Empty);

                  Client.SendMessage(msg.GetNetMessage(), NetChannel.ReliableUnordered);
               }
            }
         }
      }
コード例 #15
0
ファイル: Program.cs プロジェクト: TerenceWallace/bloodbox
 internal static void Eat(string str, BBConversation conversation)
 {
    Program.ChatApplicationBusiness.Eat(str, conversation);
 }
コード例 #16
0
      public void JoinConversation(BBConversation convers, string actualnick)
      {
         if (convers != null)
         {
            BBMessage msg = new BBMessage();
            msg.Conversation = convers;

            msg.MsgJoinConversationPlayer(PList.GetPlayer(actualnick, OurID), true);

            Client.SendMessage(msg.GetNetMessage(), NetChannel.ReliableUnordered);
         }
      }
コード例 #17
0
ファイル: Program.cs プロジェクト: TerenceWallace/bloodbox
 internal static void JoinConversation(BBConversation conversation, string player)
 {
    Program.ChatApplicationBusiness.JoinConversation(conversation, player);
 }
コード例 #18
0
 private void OnUserTyping(PlayerCarac player, BBConversation conversation, bool isTyping)
 {
    if (this.UserTyping != null)
       this.UserTyping(player, conversation, isTyping);
 }
コード例 #19
0
ファイル: BBMessage.cs プロジェクト: TerenceWallace/bloodbox
 public void MsgChatVDM(string text, PlayerCarac player, bool displayMessage, BBMessage message)
 {
    MsgType = BBMsgType.VDM;
    Conversation = message.Conversation;
    PlayerCarac = player;
    Message = text;
    Param1 = text;
    Param2 = displayMessage;
 }