private void SendPM(string[] command)
        {
            Common.Players.GraalPlayer PMPlayer = Framework.FindPlayer(command[1].Trim());

            PMWindowManager = PMWindowList.GetInstance();
            PMWindow PM = PMWindowManager.AddPMWindow(PMPlayer.Id);

            String msg = "";

            for (int i = 2; i < command.Length; i++)
            {
                msg += command[i].Trim() + " ";
            }

            // Turn the string into a CString.
            Core.CString Message = new Core.CString(msg);

            if (PM != null)
            {
                PM.SendMessage(Message);
            }
        }
		private void SendPM(string[] command)
		{
			Common.Players.GraalPlayer PMPlayer = Framework.FindPlayer(command[1].Trim());

			PMWindowManager = PMWindowList.GetInstance();
			PMWindow PM = PMWindowManager.AddPMWindow(PMPlayer.Id);

			String msg = "";
			for (int i = 2; i < command.Length; i++)
				msg += command[i].Trim() + " ";

			// Turn the string into a CString.
			Core.CString Message = new Core.CString(msg);

			if (PM != null)
			{
				PM.SendMessage(Message);
			}
		}
		public void SendChat(Gtk.Entry sender2)
		{
			this.Framework = Framework.GetInstance();
			if (sender2.Name.StartsWith("irctab_"))
			{

				if (sender2.Text.StartsWith("/"))
				{
					string[] command = sender2.Text.Split(' ');
					if (command[0].ToLower() == "/part" && command.Length != 1)
					{
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,part," + command[1].Trim() + "\n");
						this.RemovePanel("irctab_" + command[1].Trim());
					}
					else if (command[0].ToLower() == "/part" && command.Length == 1)
					{
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,part," + sender2.Name.Replace("irctab_", "").Replace("_entry", "").ToString() + "\n");
						this.RemovePanel(sender2.Name.Replace("_entry", ""));
					}
					else if (command[0].ToLower() == "/join" && command.Length != 1)
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,join," + command[1].Trim() + "\n");
				}
				else
					this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,privmsg," + sender2.Name.Replace("irctab_", "").Replace("_entry", "").ToString() + "," + OpenGraal.Core.CString.tokenize(sender2.Text) + "\n");
			}
			else
			{
				if (sender2.Text.StartsWith("/"))
				{
					string[] command = sender2.Text.Split(' ');
					if (command[0].ToLower() == "/join" && command.Length != 1)
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,join," + command[1].Trim() + "\n");
					else if (command[0].ToLower() == "/msg" && command.Length != 1)
					{
						String msg = "";
						for (int i = 2; i < command.Length; i++)
							msg += command[i].Trim() + " ";

						// Turn the string into a CString.
						Core.CString Message = new Core.CString(msg);

						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,privmsg," + command[1].Trim() + "," + Message.Tokenize() + "\n");
					}
					else if (command[0].ToLower() == "/pm" && command.Length != 1)
					{
						this.SendPM(command);
					}
					else if (command[0].ToLower() == "/mapgen" && command.Length == 1)
					{
						/*
						MapGenWindow MapGen;
						Thread thread = new Thread(() =>
						{
							MapGen = new MapGenWindow();
							MapGen.Show();
							//MapGen.Closed += (s, e) => MapGen.Dispatcher.InvokeShutdown(); 
							//Dispatcher.Run();
						}
						);
						thread.SetApartmentState(ApartmentState.STA);
						//thread.IsBackground = true;
						thread.Start();
						//MapGenWindow MapGen = new MapGenWindow();
						
						TestWindow test = new TestWindow();
						test.ShowAll();
						*/

					}
					else
					{
						if (this.isRC)
							this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.RC_CHAT + sender2.Text + "\n");
						else
						{
							this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.PLAYERPROPS + (byte)Common.Connections.Client.GraalServer.PLPROPS.CURCHAT + (byte)sender2.Text.Length + sender2.Text + "\n");
							this.WriteText("(" + this.NCPlayer.Account + "(" + this.NCPlayer.Id + ")) " + sender2.Text);
						}
					}
				}
				else
				{
					if (this.isRC)
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.RC_CHAT + sender2.Text + "\n");
					else
					{
						this.NCPlayer.Chat = sender2.Text;
						this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.PLAYERPROPS + (byte)Common.Connections.Client.GraalServer.PLPROPS.CURCHAT + (byte)sender2.Text.Length + sender2.Text + "\n");
						this.WriteText("(" + this.NCPlayer.Account + "(" + this.NCPlayer.Id + ")) " + sender2.Text);
					}
				}
			}
			sender2.Text = "";
		}
        public void SendChat(Gtk.Entry sender2)
        {
            this.Framework = Framework.GetInstance();
            if (sender2.Name.StartsWith("irctab_"))
            {
                if (sender2.Text.StartsWith("/"))
                {
                    string[] command = sender2.Text.Split(' ');
                    if (command[0].ToLower() == "/part" && command.Length != 1)
                    {
                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,part," + command[1].Trim() + "\n");
                        this.RemovePanel("irctab_" + command[1].Trim());
                    }
                    else if (command[0].ToLower() == "/part" && command.Length == 1)
                    {
                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,part," + sender2.Name.Replace("irctab_", "").Replace("_entry", "").ToString() + "\n");
                        this.RemovePanel(sender2.Name.Replace("_entry", ""));
                    }
                    else if (command[0].ToLower() == "/join" && command.Length != 1)
                    {
                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,join," + command[1].Trim() + "\n");
                    }
                }
                else
                {
                    this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,privmsg," + sender2.Name.Replace("irctab_", "").Replace("_entry", "").ToString() + "," + OpenGraal.Core.CString.tokenize(sender2.Text) + "\n");
                }
            }
            else
            {
                if (sender2.Text.StartsWith("/"))
                {
                    string[] command = sender2.Text.Split(' ');
                    if (command[0].ToLower() == "/join" && command.Length != 1)
                    {
                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,join," + command[1].Trim() + "\n");
                    }
                    else if (command[0].ToLower() == "/msg" && command.Length != 1)
                    {
                        String msg = "";
                        for (int i = 2; i < command.Length; i++)
                        {
                            msg += command[i].Trim() + " ";
                        }

                        // Turn the string into a CString.
                        Core.CString Message = new Core.CString(msg);

                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)154 + "GraalEngine,irc,privmsg," + command[1].Trim() + "," + Message.Tokenize() + "\n");
                    }
                    else if (command[0].ToLower() == "/pm" && command.Length != 1)
                    {
                        this.SendPM(command);
                    }
                    else if (command[0].ToLower() == "/mapgen" && command.Length == 1)
                    {
                        /*
                         * MapGenWindow MapGen;
                         * Thread thread = new Thread(() =>
                         * {
                         *      MapGen = new MapGenWindow();
                         *      MapGen.Show();
                         *      //MapGen.Closed += (s, e) => MapGen.Dispatcher.InvokeShutdown();
                         *      //Dispatcher.Run();
                         * }
                         * );
                         * thread.SetApartmentState(ApartmentState.STA);
                         * //thread.IsBackground = true;
                         * thread.Start();
                         * //MapGenWindow MapGen = new MapGenWindow();
                         *
                         * TestWindow test = new TestWindow();
                         * test.ShowAll();
                         */
                    }
                    else
                    {
                        if (this.isRC)
                        {
                            this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.RC_CHAT + sender2.Text + "\n");
                        }
                        else
                        {
                            this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.PLAYERPROPS + (byte)Common.Connections.Client.GraalServer.PLPROPS.CURCHAT + (byte)sender2.Text.Length + sender2.Text + "\n");
                            this.WriteText("(" + this.NCPlayer.Account + "(" + this.NCPlayer.Id + ")) " + sender2.Text);
                        }
                    }
                }
                else
                {
                    if (this.isRC)
                    {
                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.RC_CHAT + sender2.Text + "\n");
                    }
                    else
                    {
                        this.NCPlayer.Chat = sender2.Text;
                        this.Framework.SendGSPacket(new OpenGraal.Core.CString() + (byte)Common.Connections.Client.GraalServer.PacketOut.PLAYERPROPS + (byte)Common.Connections.Client.GraalServer.PLPROPS.CURCHAT + (byte)sender2.Text.Length + sender2.Text + "\n");
                        this.WriteText("(" + this.NCPlayer.Account + "(" + this.NCPlayer.Id + ")) " + sender2.Text);
                    }
                }
            }
            sender2.Text = "";
        }
Пример #5
0
 public void SetMessage(Core.CString message)
 {
     this.WriteText(message.ToString());
 }