コード例 #1
0
        private void buttonOk_Click(object sender, EventArgs e)
        {
            if (textBoxAlias.Text == "")
            {
                labelAlias.Text = "Il faut que tu choisisses un alias !";
            }
            else
            {
                if (tabControl1.TabPages.Count <= 1)
                {
                    chatter = new TextChatter(textBoxAlias.Text); //Mise en place du chatter

                    //Interface
                    labelAlias.Text = "Ton alias est : " + chatter.getAlias();
                    labelAlias.Show();
                    Text = "Enjoy " + chatter.getAlias() + " !";
                    tabControl1.TabPages.Insert(1, tabPage2);
                    tabControl1.SelectedTab = tabControl1.TabPages["tabPage2"];
                }
                else if (tabControl1.TabPages.Count > 1)
                {
                    tabControl1.SelectedTab = tabControl1.TabPages["tabPage2"];
                }
            }
        }
コード例 #2
0
 /// <summary>
 /// Sends an officer-only message to guild chat.
 /// </summary>
 /// <param name="sender">the sender/guild member of the message</param>
 /// <param name="message">the message to send</param>
 internal static void SendGuildOfficerMessage(IChatter sender, Guild guild, string message)
 {
     using (var chatPacket = CreateCharChatMessage(ChatMsgType.Officer, sender.SpokenLanguage, sender, sender, null, message))
     {
         guild.SendToOfficers(chatPacket);
     }
 }
コード例 #3
0
ファイル: ChatChannel.cs プロジェクト: uvbs/Asda2-Server
        /// <summary>Sends a message to this channel.</summary>
        /// <param name="sender">the chatter saying the message</param>
        public void SendMessage(IChatter sender, string message)
        {
            ChannelMember channelMember;

            if (!this.Members.TryGetValue(sender.EntityId.Low, out channelMember))
            {
                ChannelHandler.SendNotOnChannelReply((IPacketReceiver)sender, this.m_name);
            }
            else if (channelMember.IsMuted)
            {
                ChannelHandler.SendMutedReply((IPacketReceiver)sender, this.m_name);
            }
            else if (this.IsModerated && !channelMember.IsModerator)
            {
                ChannelHandler.SendNotOnChannelReply((IPacketReceiver)sender, this.m_name);
            }
            else
            {
                if (sender is IUser &&
                    RealmCommandHandler.HandleCommand((IUser)sender, message, (IGenericChatTarget)this))
                {
                    return;
                }
                ChannelHandler.SendPacketToChannel(this,
                                                   ChatMgr.CreateNormalChatMessagePacket(sender.Name, message, Locale.Start, (Character)null));
            }
        }
コード例 #4
0
ファイル: ChatRoom.cs プロジェクト: sylviadream/Cshapchatroom
 public void post(string msg, IChatter c)
 {
     foreach (var v in participants)
     {
         v.ReceiveAMessage(msg, c);
     }
 }
コード例 #5
0
 public void quit(IChatter c)
 {
     lock (listChatter)
     {
         listChatter.Remove(c);
     }
 }
コード例 #6
0
ファイル: ClientChatRoom.cs プロジェクト: Richti/CSharp
        public void quit(IChatter c)
        {
            Message request = new Message(new Header(c.getAlias(), MessageType.QUITCR), "");

            sendMessage(request);
            doRun = false;
        }
コード例 #7
0
ファイル: ServerChatRoom.cs プロジェクト: LouisPlt/Chat
        public void receiveAMessage(string msg, IChatter c)
        {
            Message message = new Message(new Header(c.getAlias(), "RECV_MSG"), msg);

            Console.WriteLine("receiveAMessage called");
            sendMessage(message);
        }
コード例 #8
0
ファイル: TextChatRoom.cs プロジェクト: Richti/CSharp
 public void quit(IChatter c)
 {
     lock (textChatters)
     {
         textChatters.Remove(c);
     }
     Console.Write("Déconnexion de : " + c.getAlias());
 }
コード例 #9
0
ファイル: TextChatRoom.cs プロジェクト: Richti/CSharp
 public void join(IChatter c)
 {
     Console.WriteLine("(Message from Chatroom : {0}) {1}  has join the room.", topic, c.getAlias());
     lock (textChatters)
     {
         textChatters.Add(c);
     }
 }
コード例 #10
0
 public void join(IChatter c)
 {
     Console.WriteLine("join called from TextChatRoom");
     lock (listChatter)
     {
         listChatter.Add(c);
     }
 }
コード例 #11
0
ファイル: TextChatRoom.cs プロジェクト: Richti/CSharp
 public void join(IChatter c)
 {
     Console.WriteLine("(Message from Chatroom : {0}) {1}  has join the room.", topic,c.getAlias());
     lock(textChatters)
     {
         textChatters.Add(c);
     }
 }
コード例 #12
0
ファイル: ClientChatRoom.cs プロジェクト: Richti/CSharp
 public void join(IChatter chatter)
 {
     this.chatter = chatter;
     Message request = new Message(new Header(chatter.getAlias(), MessageType.JOINCR), "");
     sendMessage(request);
     Thread t = new Thread(new ThreadStart(runReceiveMsg));
     t.Start();
 }
コード例 #13
0
ファイル: TextChatRoom.cs プロジェクト: Richti/CSharp
 public void quit(IChatter c)
 {
     lock (textChatters)
     {
         textChatters.Remove(c);
     }
     Console.Write("Déconnexion de : " + c.getAlias());
 }
コード例 #14
0
        /// <summary>
        /// Triggers a chat notification event.
        /// </summary>
        /// <param name="chatter">the person chatting</param>
        /// <param name="message">the chat message</param>
        /// <param name="language">the chat language</param>
        /// <param name="chatType">the type of chat</param>
        /// <param name="target">the target of the message (channel, whisper, etc)</param>
        public static void ChatNotify(IChatter chatter, string message, ChatLanguage language, ChatMsgType chatType, IGenericChatTarget target)
        {
            var chatNotify = MessageSent;

            if (chatNotify != null)
            {
                chatNotify(chatter, message, language, chatType, target);
            }
        }
コード例 #15
0
ファイル: ChatChannel.cs プロジェクト: 0xFh/Asda2-Project
        /// <summary>
        /// Sends a message to this channel.
        /// </summary>
        /// <param name="sender">the chatter saying the message</param>
        public void SendMessage(IChatter sender, string message)
        {
            ChannelMember mi;

            if (!Members.TryGetValue(sender.EntityId.Low, out mi))
            {
                ChannelHandler.SendNotOnChannelReply(sender, m_name);
                return;
            }

            if (mi.IsMuted)
            {
                ChannelHandler.SendMutedReply(sender, m_name);
                return;
            }

            bool isMod = mi.IsModerator;

            if (IsModerated && !isMod)
            {
                ChannelHandler.SendNotOnChannelReply(sender, m_name);
                return;
            }

            if (sender is IUser)
            {
                if (RealmCommandHandler.HandleCommand((IUser)sender, message, this))
                {
                    return;
                }
            }
            ChannelHandler.SendPacketToChannel(this, ChatMgr.CreateNormalChatMessagePacket(sender.Name, message, Locale.En));

            /*using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_MESSAGECHAT))
             * {
             *      packet.Write((byte)ChatMsgType.Channel);
             *      packet.Write((uint)sender.SpokenLanguage);
             *      packet.Write(sender.EntityId);
             *      packet.Write(0);			// unknown
             *      packet.WriteCString(Name);
             *      packet.Write(sender.EntityId);
             *      packet.WriteUIntPascalString(message);
             *      packet.Write((byte)sender.ChatTag); // chat tag
             *
             *      if (isMod)
             *      {
             *              ChannelHandler.SendPacketToChannel(this, packet);
             *      }
             *      else
             *      {
             *              ChannelHandler.SendPacketToChannel(this, packet, sender.EntityId);
             *      }
             *
             *      ChatMgr.ChatNotify(sender, message, sender.SpokenLanguage, ChatMsgType.Channel, this);
             * }*/
        }
コード例 #16
0
ファイル: ClientChatRoom.cs プロジェクト: Richti/CSharp
        public void join(IChatter chatter)
        {
            this.chatter = chatter;
            Message request = new Message(new Header(chatter.getAlias(), MessageType.JOINCR), "");

            sendMessage(request);
            Thread t = new Thread(new ThreadStart(runReceiveMsg));

            t.Start();
        }
コード例 #17
0
ファイル: TextChatRoom.cs プロジェクト: Richti/CSharp
 public void post(string msg, IChatter c)
 {
     lock (textChatters)
     {
         foreach (IChatter chatter in textChatters)
         {
             chatter.receiveAMessage(msg, c);
         }
     }
 }
コード例 #18
0
ファイル: TextChatRoom.cs プロジェクト: Richti/CSharp
 public void post(string msg, IChatter c)
 {
     lock (textChatters)
     {
         foreach (IChatter chatter in textChatters)
         {
             chatter.receiveAMessage(msg, c);
         }
     }
 }
コード例 #19
0
 public void post(String msg, IChatter c)
 {
     lock (listChatter)
     {
         foreach (IChatter chatter in listChatter)
         {
             chatter.receiveAMessage(msg, c);
         }
     }
 }
コード例 #20
0
ファイル: ClientChatRoom.cs プロジェクト: LouisPlt/Chat
        public void join(IChatter c)
        {
            Console.WriteLine("join called");
            //Send the request for join a topic
            Net.Message msg = new Net.Message(new Header(c.getAlias(), "JOIN_CR"), "");
            sendMessage(msg);

            //Start the thread to receive messages
            Thread thread = new Thread(new ThreadStart(receiveMessages));

            thread.Start();
        }
コード例 #21
0
        /// <summary>
        /// Sends a whisper from one player to another.
        /// </summary>
        /// <param name="sender">the sender of the whisper</param>
        /// <param name="receiver">the target of the whisper</param>
        /// <param name="message">the message to send</param>
        public static void SendRaidBossWhisper(WorldObject sender, IChatter receiver, string message)
        {
            if (message.Length == 0)
            {
                return;
            }

            using (var chatPacket = CreateCharChatMessage(ChatMsgType.RaidBossWhisper, ChatLanguage.Universal, sender.EntityId, receiver.EntityId, sender.Name, message, ChatTag.None))
            {
                receiver.Send(chatPacket);
            }
        }
コード例 #22
0
ファイル: ChatBot.cs プロジェクト: saurav2107/ChatBot
 public ChatBot(ILogger <ChatBot> logger, SalesDialogBotAccessors accessors, IOrderDialogSet salesDialogSet,
                INaturalLanguageEngine naturalLanguageEngine, IChatter chatter, ILanguageDialogSet languageDialogSet,
                IViewOrdersDialogSet viewOrdersDialogSet, ISpeechRecognizer speechRecognizer)
 {
     SpeechRecognizer      = speechRecognizer;
     ViewOrdersDialogSet   = viewOrdersDialogSet;
     LanguageDialogSet     = languageDialogSet;
     Chatter               = chatter;
     NaturalLanguageEngine = naturalLanguageEngine;
     Logger         = logger;
     Accessors      = accessors;
     SalesDialogSet = salesDialogSet;
 }
コード例 #23
0
        /// <summary>
        /// Check if a Character forgave an Ambusher
        /// </summary>
        static void CheckAmbusherRelease(IChatter chatter, string message,
                                         ChatLanguage lang, ChatMsgType chatType, IGenericChatTarget target)
        {
            if (chatter is Character)                   // make sures its a Character (could also be a broadcast or an IRC bot etc)
            {
                var chr      = (Character)chatter;
                var selected = chr.Target as NPC;
                if (selected != null &&
                    selected.FactionId == FactionId.Friendly &&                                                 // Ambusher is frienddly
                    selected.FirstAttacker == chr &&                                                            // Ambusher was tagged by Chr
                    selected.Entry.NPCId == NPCId.WitchwingAmbusher &&                                          // Chr selected the ambusher
                    (chatType == ChatMsgType.Say || chatType == ChatMsgType.Yell) &&                            // Chr speaks out loud
                    message == "I forgive thee!")                                                               // Chr says the right words
                {
                    if (!selected.IsInFrontOf(chr))
                    {
                        // the char was not talking towards the ambusher
                        selected.Say("What? I couldn't hear you!");
                    }
                    else
                    {
                        // The Killer has forgiven the Ambusher

                        // Standup
                        selected.StandState = StandState.Stand;

                        // delay (because standing up takes time)
                        selected.CallDelayed(800, obj => {
                            if (selected.IsInWorld)                             // ensure that Chr and selected didn't disappear in the meantime
                            {
                                if (chr.IsInWorld)
                                {
                                    selected.Yell("Thank you so much! - Now I can leave this place.");
                                }

                                selected.Emote(EmoteType.SimpleApplaud);

                                selected.CallDelayed(1000, obj2 => {
                                    if (selected.IsInWorld)
                                    {
                                        // Finally die
                                        selected.Kill();
                                    }
                                });
                            }
                        });
                    }
                }
            }
        }
コード例 #24
0
 public SalesOrderPostDialog(SalesDialogBotAccessors accessors, INavClient client, IChatter chatter)
 {
     Chatter        = chatter;
     Client         = client;
     Accessors      = accessors;
     WaterfallSteps = new WaterfallStep[]
     {
         ConfirmSalesOrderStepAsync,
         PostSalesOrderAndViewStepAsync
     };
     Prompts = new List <Dialog>
     {
         new ConfirmPrompt(ConfirmSalesOrderPrompt)
     };
 }
コード例 #25
0
 public AnotherProductDialog(SalesDialogBotAccessors accessors, IChatter chatter)
 {
     Chatter        = chatter;
     Accessors      = accessors;
     WaterfallSteps = new WaterfallStep[]
     {
         AnotherProductOrNotStepAsync,
         ThankYouStepAsync
     };
     Prompts = new List <Dialog>
     {
         new ConfirmPrompt(AnotherProductPrompt),
         new ConfirmPrompt(ConfirmOrderPrompt)
     };
 }
コード例 #26
0
 public LanguageDialog(SalesDialogBotAccessors accessors, ITextTranslator translator, IChatter chatter)
 {
     Chatter        = chatter;
     Translator     = translator;
     Accessors      = accessors;
     WaterfallSteps = new WaterfallStep[]
     {
         LanguageChooseStepAsync,
         ToCustomerDialogStepAsync
     };
     Prompts = new List <Dialog>
     {
         new ChoicePrompt(LanguagePrompt, LanguageValidatorAsync)
     };
 }
コード例 #27
0
        public ChatWindow(string pseudo, ClientGestTopics clientGT)
        {
            /***Connect the client***/
            this.clientGT = clientGT;
            textDisplay   = new TextBox();
            sendText      = new TextBox();
            chatter       = new TextChatter(pseudo);


            /**Set up the GUI **/
            InitializeComponent();
            setEvents();

            /*Set up the topics that already exist*/
            setTopics();
        }
コード例 #28
0
        /// <summary>
        /// Sends a whisper from one player to another.
        /// </summary>
        /// <param name="sender">the sender of the whisper</param>
        /// <param name="receiver">the target of the whisper</param>
        /// <param name="message">the message to send</param>
        public static void SendWhisper(IChatter sender, IChatter receiver, string message)
        {
            if (message.Length == 0)
            {
                return;
            }

            using (var chatPacket = CreateCharChatMessage(ChatMsgType.Whisper, sender.SpokenLanguage, sender, receiver, null, message))
            {
                receiver.Send(chatPacket);
            }

            using (var chatPacket = CreateCharChatMessage(ChatMsgType.WhisperInform, sender.SpokenLanguage, sender, receiver, null, message))
            {
                sender.Send(chatPacket);
            }
        }
コード例 #29
0
        public LanguageDialogSet(SalesDialogBotAccessors accessors, ILanguageDialog languageDialog,
                                 IChatter chatter)
        {
            Chatter     = chatter;
            Accessors   = accessors;
            languageSet = new DialogSet(accessors.LanguageDialogState);

            var prompts = new List <Dialog>();

            prompts.AddRange(languageDialog.GetPrompts());

            languageSet.Add(new WaterfallDialog(languageDialog.GetName(), languageDialog.GetWaterfallSteps()));
            foreach (var dialog in prompts)
            {
                languageSet.Add(dialog);
            }
        }
コード例 #30
0
        public VoiceVerificationDialog(SalesDialogBotAccessors accessors, IVoiceVerifier verifier,
                                       IChatter chatter)
        {
            VoiceVerifier  = verifier;
            Chatter        = chatter;
            Accessors      = accessors;
            WaterfallSteps = new WaterfallStep[]
            {
                PhraseStepAsync,
                EndVoiceAsync
            };

            Prompts = new List <Dialog>
            {
                new AttachmentPrompt(PhrasePrompt, VoiceValidatorAsync),
                new AttachmentPrompt(VoicePrompt, VoiceAuthenticatorAsync)
            };
        }
コード例 #31
0
 public ViewOrdersDialog(SalesDialogBotAccessors accessors, INavClient client, IChatter chatter)
 {
     Chatter        = chatter;
     Client         = client;
     Accessors      = accessors;
     WaterfallSteps = new WaterfallStep[]
     {
         ChooseOrderStepAsync,
         ChooseActionStepAsync,
         ToActionStepAsync,
         AnotherActionStepAsync
     };
     Prompts = new List <Dialog>
     {
         new TextPrompt(OrdersPrompt, OrderNumberValidatorAsync),
         new ChoicePrompt(ActionPrompt),
         new ConfirmPrompt(OtherActionPrompt)
     };
 }
コード例 #32
0
        public static void Broadcast(IChatter broadCaster, string message)
        {
            if (broadCaster != null)
            {
                message = broadCaster.Name + ": ";
            }

            GetAllCharacters().SendSystemMessage(message);
            //ChatMgr.ChatNotify(null, message, ChatLanguage.Universal, ChatMsgType.System, null);


            s_log.Info("[Broadcast] " + ChatUtility.Strip(message));

            var evt = Broadcasted;

            if (evt != null)
            {
                evt(broadCaster, message);
            }
        }
コード例 #33
0
        public CustomerIdDialogWithVoiceRecognition(INavClient client, SalesDialogBotAccessors accessors,
                                                    IChatter chatter)
        {
            Chatter        = chatter;
            Client         = client;
            Accessors      = accessors;
            WaterfallSteps = new WaterfallStep[]
            {
                CustomerIdStepAsync,
                CustomerAuthenticationStepAsync,
                ConfirmProfileStepAsync,
                ToIntentionStepAsync
            };

            Prompts = new List <Dialog>
            {
                new TextPrompt(CustomerIdPrompt, CustomerIdValidatorAsync),
                new ConfirmPrompt(ConfirmIdPrompt)
            };
        }
コード例 #34
0
ファイル: ProductDialog.cs プロジェクト: saurav2107/ChatBot
 public ProductDialog(SalesDialogBotAccessors accessors, INavClient client, IChatter chatter)
 {
     Chatter        = chatter;
     Client         = client;
     Accessors      = accessors;
     WaterfallSteps = new WaterfallStep[]
     {
         ChooseItemCategoryStepAsync,
         ChooseItemStepAsync,
         ChooseQuantityStepAsync,
         ConfirmQuantityStepAsync,
         ToAnotherProductStepAsync
     };
     Prompts = new List <Dialog>
     {
         new ChoicePrompt(ItemCategoryPrompt, ItemCategoryChoiceValidatorAsync),
         new ChoicePrompt(ProductPrompt, ProductChoiceValidatorAsync),
         new ConfirmPrompt(ConfirmQuantityPrompt),
         new NumberPrompt <int>(QuantityPrompt, QuantityChoiceValidatorAsync)
     };
 }
コード例 #35
0
ファイル: ServerChatRoom.cs プロジェクト: Richti/CSharp
 public void quit(IChatter c)
 {
     concretCR.quit(c);
     post(" s'est déconnecté(e).", c);
 }
コード例 #36
0
ファイル: ChatMgr.cs プロジェクト: remixod/netServer
		/// <summary>
		/// Triggers a chat notification event.
		/// </summary>
		/// <param name="chatter">the person chatting</param>
		/// <param name="message">the chat message</param>
		/// <param name="language">the chat language</param>
		/// <param name="chatType">the type of chat</param>
		/// <param name="target">the target of the message (channel, whisper, etc)</param>
		public static void ChatNotify(IChatter chatter, string message, ChatLanguage language, ChatMsgType chatType, IGenericChatTarget target)
		{
			var chatNotify = MessageSent;

			if (chatNotify != null)
			{
				chatNotify(chatter, message, language, chatType, target);
			}
		}
コード例 #37
0
ファイル: ChatMgr.cs プロジェクト: remixod/netServer
		/// <summary>
		/// Sends an officer-only message to guild chat.
		/// </summary>
		/// <param name="sender">the sender/guild member of the message</param>
		/// <param name="message">the message to send</param>
		internal static void SendGuildOfficerMessage(IChatter sender, Guild guild, string message)
		{
			using (var chatPacket = CreateCharChatMessage(ChatMsgType.Officer, sender.SpokenLanguage, sender, sender, null, message))
			{
				guild.SendToOfficers(chatPacket);
			}
		}
コード例 #38
0
ファイル: ChatMgr.cs プロジェクト: remixod/netServer
		/// <summary>
		/// Sends a whisper from one player to another.
		/// </summary>
		/// <param name="sender">the sender of the whisper</param>
		/// <param name="receiver">the target of the whisper</param>
		/// <param name="message">the message to send</param>
		public static void SendWhisper(IChatter sender, IChatter receiver, string message)
		{
			if (message.Length == 0)
				return;

			using (var chatPacket = CreateCharChatMessage(ChatMsgType.Whisper, sender.SpokenLanguage, sender, receiver, null, message))
			{
				receiver.Send(chatPacket);
			}

			using (var chatPacket = CreateCharChatMessage(ChatMsgType.WhisperInform, sender.SpokenLanguage, sender, receiver, null, message))
			{
				sender.Send(chatPacket);
			}
		}
コード例 #39
0
ファイル: ChatMgr.cs プロジェクト: remixod/netServer
		/// <summary>
		/// Creates a chat message packet for a player.
		/// </summary>
		/// <param name="type">the type of chat message</param>
		/// <param name="language">the language the message is in</param>
		/// <param name="id1">the ID of the chatter</param>
		/// <param name="id2">the ID of the receiver</param>
		/// <param name="target">the target or null (if its an area message)</param>
		/// <param name="msg">the message itself</param>
		private static RealmPacketOut CreateCharChatMessage(ChatMsgType type, ChatLanguage language, IChatter id1, IChatter id2,
			string target, string msg)
		{
			return CreateCharChatMessage(type, language, id1.EntityId, id2.EntityId, target, msg, id1.ChatTag);
		}
コード例 #40
0
ファイル: WCellUser.cs プロジェクト: WCell/WCell-IrcAddon
 public void SendMessage(IChatter sender, string message)
 {
     IrcUser.Msg("[" + sender.Name + "] " + message);
 }
コード例 #41
0
ファイル: Character.cs プロジェクト: remixod/netServer
		public void SendMessage(IChatter sender, string message)
		{
			ChatMgr.SendWhisper(sender, this, message);
		}
コード例 #42
0
ファイル: World.cs プロジェクト: ebakkedahl/WCell
 public static void Broadcast(IChatter broadCaster, string message, params object[] args)
 {
     Broadcast(broadCaster, string.Format(message, args));
 }
コード例 #43
0
		/// <summary>
		/// Check if a Character forgave an Ambusher
		/// </summary>
		static void CheckAmbusherRelease(IChatter chatter, string message,
			ChatLanguage lang, ChatMsgType chatType, IGenericChatTarget target)
		{
			if (chatter is Character)	// make sures its a Character (could also be a broadcast or an IRC bot etc)
			{
				var chr = (Character)chatter;
				var selected = chr.Target as NPC;
				if (selected != null &&
					selected.FactionId == FactionId.Friendly &&							// Ambusher is frienddly
					selected.FirstAttacker == chr &&									// Ambusher was tagged by Chr
					selected.Entry.NPCId == NPCId.WitchwingAmbusher &&					// Chr selected the ambusher
					(chatType == ChatMsgType.Say || chatType == ChatMsgType.Yell) &&	// Chr speaks out loud
					message == "I forgive thee!")										// Chr says the right words
				{
					if (!selected.IsInFrontOf(chr))
					{
						// the char was not talking towards the ambusher
						selected.Say("What? I couldn't hear you!");
					}
					else
					{
						// The Killer has forgiven the Ambusher

						// Standup
						selected.StandState = StandState.Stand;

						// delay (because standing up takes time)
						selected.CallDelayed(800, obj => {
							if (selected.IsInWorld) // ensure that Chr and selected didn't disappear in the meantime
							{
								if (chr.IsInWorld)
								{
									selected.Yell("Thank you so much! - Now I can leave this place.");
								}

								selected.Emote(EmoteType.SimpleApplaud);

								selected.CallDelayed(1000, obj2 => {
									if (selected.IsInWorld)
									{
										// Finally die
										selected.Kill();
									}
								});
							}
						});
					}
				}
			}
		}
コード例 #44
0
ファイル: ChatMgr.cs プロジェクト: KroneckerX/WCell
		/// <summary>
		/// Sends a whisper from one player to another.
		/// </summary>
		/// <param name="sender">the sender of the whisper</param>
		/// <param name="receiver">the target of the whisper</param>
		/// <param name="message">the message to send</param>
		public static void SendRaidBossWhisper(WorldObject sender, IChatter receiver, string message)
		{
			if (message.Length == 0)
				return;

			using (var chatPacket = CreateCharChatMessage(ChatMsgType.RaidBossWhisper, ChatLanguage.Universal, sender.EntityId, receiver.EntityId, sender.Name, message, ChatTag.None))
			{
				receiver.Send(chatPacket);
			}
		}
コード例 #45
0
ファイル: ClientChatRoom.cs プロジェクト: Richti/CSharp
 public void post(string msg, IChatter c)
 {
     Message request = new Message(new Header(c.getAlias(), MessageType.POST), msg);
     sendMessage(request);
 }
コード例 #46
0
ファイル: ChatChannel.cs プロジェクト: remixod/netServer
		/// <summary>
		/// Sends a message to this channel.
		/// </summary>
		/// <param name="sender">the chatter saying the message</param>
		public void SendMessage(IChatter sender, string message)
		{
		    ChannelMember mi;
			if (!Members.TryGetValue(sender.EntityId.Low, out mi))
			{
				ChannelHandler.SendNotOnChannelReply(sender, m_name);
				return;
			}

			if (mi.IsMuted)
			{
				ChannelHandler.SendMutedReply(sender, m_name);
				return;
			}

			bool isMod = mi.IsModerator;
			if (IsModerated && !isMod)
			{
				ChannelHandler.SendNotOnChannelReply(sender, m_name);
				return;
			}

			if (sender is IUser)
			{
				if (RealmCommandHandler.HandleCommand((IUser)sender, message, this))
					return;
			}

			using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_MESSAGECHAT))
			{
				packet.Write((byte)ChatMsgType.Channel);
				packet.Write((uint)sender.SpokenLanguage);
				packet.Write(sender.EntityId);
				packet.Write(0);			// unknown
				packet.WriteCString(Name);
				packet.Write(sender.EntityId);
				packet.WriteUIntPascalString(message);
				packet.Write((byte)sender.ChatTag); // chat tag

				if (isMod)
				{
					ChannelHandler.SendPacketToChannel(this, packet);
				}
				else
				{
					ChannelHandler.SendPacketToChannel(this, packet, sender.EntityId);
				}

				ChatMgr.ChatNotify(sender, message, sender.SpokenLanguage, ChatMsgType.Channel, this);
			}
		}
コード例 #47
0
ファイル: InfoUser.cs プロジェクト: Richti/CSharp
        private void buttonOk_Click(object sender, EventArgs e)
        {
            if (textBoxAlias.Text == "")
            {
                labelAlias.Text = "Il faut que tu choisisses un alias !";
            }
            else
            {
                if (tabControl1.TabPages.Count <= 1)
                {
                    chatter = new TextChatter(textBoxAlias.Text); //Mise en place du chatter

                    //Interface
                    labelAlias.Text = "Ton alias est : " + chatter.getAlias();
                    labelAlias.Show();
                    Text = "Enjoy " + chatter.getAlias() + " !";
                    tabControl1.TabPages.Insert(1, tabPage2);
                    tabControl1.SelectedTab = tabControl1.TabPages["tabPage2"];

                }
                else if(tabControl1.TabPages.Count >1)
                {
                    tabControl1.SelectedTab = tabControl1.TabPages["tabPage2"];
                }
            }
        }
コード例 #48
0
ファイル: World.cs プロジェクト: ebakkedahl/WCell
 public static void Broadcast(IChatter broadCaster, RealmLangKey key, params object[] args)
 {
     Broadcast(broadCaster, RealmLocalizer.Instance.Translate(key, args));
 }
コード例 #49
0
ファイル: ServerChatRoom.cs プロジェクト: Richti/CSharp
 public void post(string msg, IChatter c)
 {
     concretCR.post(msg, c);
 }
コード例 #50
0
ファイル: World.cs プロジェクト: ebakkedahl/WCell
        public static void Broadcast(IChatter broadCaster, string message)
        {
            if (broadCaster != null)
            {
                message = broadCaster.Name + ": ";
            }

            GetAllCharacters().SendSystemMessage(message);
            //ChatMgr.ChatNotify(null, message, ChatLanguage.Universal, ChatMsgType.System, null);

            s_log.Info("[Broadcast] " + ChatUtility.Strip(message));

            var evt = Broadcasted;
            if (evt != null)
            {
                evt(broadCaster, message);
            }
        }
コード例 #51
0
ファイル: TextChatter.cs プロジェクト: Richti/CSharp_Project
 public void receiveAMessage(string msg, IChatter c)
 {
     Console.WriteLine("(At {0}) : {1} $> {2} ", alias, c.getAlias(), msg);
 }
コード例 #52
0
ファイル: ServerChatRoom.cs プロジェクト: Richti/CSharp
 public void receiveAMessage(string msg, IChatter c)
 {
     Message message = new Message(new Header(c.getAlias(),MessageType.RECV_MSG),msg);
     sendMessage(message);
 }
コード例 #53
0
ファイル: Group.cs プロジェクト: ray2006/WCell
		public void SendMessage(IChatter sender, ChatLanguage language, string message)
		{
			throw new NotImplementedException();
		}
コード例 #54
0
ファイル: ServerChatRoom.cs プロジェクト: Richti/CSharp
 public void join(IChatter c)
 {
     concretCR.join(c);
 }
コード例 #55
0
ファイル: ClientChatRoom.cs プロジェクト: Richti/CSharp
 public void quit(IChatter c)
 {
     Message request = new Message(new Header(c.getAlias(), MessageType.QUITCR), "");
     sendMessage(request);
     doRun = false;
 }