Esempio n. 1
0
        private void RemoveRCFileBrowserWindow(object sender, Gtk.DeleteEventArgs e)
        {
            e.RetVal = true;
            Abstraction main = Abstraction.GetInstance();

            this.Hide();
        }
Esempio n. 2
0
        private void RowSelected(object sender, System.EventArgs e)
        {
            Gtk.Application.Invoke(delegate
            {
                Gtk.TreeSelection selection = (sender as Gtk.TreeView).Selection;
                Gtk.TreeModel model;
                Gtk.TreeIter iter;

                // THE ITER WILL POINT TO THE SELECTED ROW
                if (selection.GetSelected(out model, out iter))
                {
                    try
                    {
                        string CDPath = "";
                        Gtk.TreeIter parent;
                        Console.WriteLine("Selected Value:" + model.GetValue(iter, 1).ToString());

                        if (model.IterParent(out parent, iter))
                        {
                            CDPath += model.GetValue(parent, 1).ToString();
                        }

                        CDPath += model.GetValue(iter, 1).ToString();

                        Abstraction.GetInstance().WriteText(CDPath);

                        Framework.GetInstance().SendGSPacket(new Core.CString() + (byte)OpenGraal.Common.Connections.Client.GraalServer.PacketOut.RC_FILEBROWSER_CD + CDPath);
                    }
                    catch (Exception ez)
                    { }
                }
            }
                                   );
        }
Esempio n. 3
0
        public void InitNcConnection(CString ncip, CString ncport)
        {
            this.form         = Abstraction.GetInstance();
            this.serverWindow = ServerWindow.GetInstance();

            // Connect to GServer

            //NCConn.RunServer();

            //GSConn.Disconnect();
            if (!NCConn.Connected)
            {
                this.form.WriteText("Connecting to NpcServer...");
                this.form.WriteText("Address:\t" + ncip.Text);
                this.form.WriteText("Port:\t\t" + ncport.ToString());
                NCConn.Connect(ncip.Text, ncport.ToInt());
            }
            else
            {
                this.form.WriteText("Already connected!");
            }

            if (NCConn.Connected)
            {
                this.form.WriteText("Connected!");
                NCConn.SendLogin(this.username, this.password);
            }
        }
        public void RunServer()
        {
            this.Build();
            this.ShowAll();

            //this.Server = Framework.GetInstance();
            this.PMWindowManager = PMWindowList.GetInstance();
            //this.Server.RunServer();
            this.form = Abstraction.GetInstance();
        }
Esempio n. 5
0
        private void RemovePMWindow(object sender, Gtk.DeleteEventArgs e)
        {
            //e.RetVal = true;
            Abstraction main = Abstraction.GetInstance();

            //main.WriteText("Removed PMWindow!");
            this.PMWindowManager = PMWindowList.GetInstance();
            this.PMWindowManager.DeletePMWindow(this.Id);
            this.Dispose();
        }
Esempio n. 6
0
 public void SendMessage(CString message)
 {
     this.Server = Framework.GetInstance();
     this.Server.SendPM(this._id, CString.tokenize(message.Text), true);
     Gtk.Application.Invoke(delegate
     {
         Abstraction mw = Abstraction.GetInstance();
         this.WriteText("(" + mw.NCPlayer.Nickname + "(You)): " + message.Text);
         message = null;
     }
                            );
 }
Esempio n. 7
0
        /// <summary>
        /// Handle Login Packet
        /// </summary>
        public void SendLogin(string username, string password)
        {
            // Check Type & Version
            int     type        = 8;
            String  version     = "NCL21075";
            CString loginPacket = new CString() + (byte)type + version + (byte)username.Length + username + (byte)password.Length + password + "\n";

            SendPacket(loginPacket, true);

            Abstraction.GetInstance().WriteText(loginPacket.ToString());

            this.ReceiveData();

            // Set Login
            LoggedIn = true;
        }
Esempio n. 8
0
        /// <summary>
        /// Handle Received Data
        /// </summary>
        protected override void HandleData(CString Packet)
        {
            // Player not logged in
            //if (!LoggedIn)
            //	HandleLogin(Packet.ReadString('\n'));

            // Parse Packets
            while (Packet.BytesLeft > 0)
            {
                // Grab Single Packet
                CString CurPacket = Packet.ReadString('\n');

                // Read Packet Type
                int PacketId = CurPacket.ReadGUByte1();

                // Run Internal Packet Function
                switch ((PacketIn)PacketId)
                {
                default:
                    Abstraction.GetInstance().WriteText("CLIENTNC -> Packet [" + PacketId + "]: " + CurPacket.Text);
                    break;
                }
            }
        }
Esempio n. 9
0
        /*
         * /// <summary>
         * /// Accept incoming connection for NPC-Control
         * /// </summary>
         * /// <param name="ar"></param>
         * protected void NCControl_Accept(IAsyncResult ar)
         * {
         *      // Accept Socket
         *      NCConnection Client = new NCConnection(this, (Socket)NCListen.EndAcceptSocket(ar));
         *      Client.ReceiveData();
         *      NCList.Add(Client);
         *
         *      // Listen for incoming connections
         *      NCListen.BeginAcceptSocket(cNCAccept, NCListen);
         * }
         */
        /// <summary>
        /// Run NPC Server
        /// </summary>
        public void RunServer()
        {
            // Run Timeouts

            /*
             * foreach (KeyValuePair<String, ServerWeapon> wep in WeaponList)
             * {
             *      ScriptObj obj = (ScriptObj)wep.Value.ScriptObject;
             *      if (obj != null)
             *              obj.RunEvents();
             * }
             *
             * // Level-Npcs
             * lock (TimerLock)
             * {
             *      foreach (KeyValuePair<String, GraalLevel> lvl in LevelList)
             *      {
             *              foreach (KeyValuePair<int, GraalLevelNPC> npc in lvl.Value.NpcList)
             *              {
             *                      ScriptObj obj = (ScriptObj)npc.Value.ScriptObject;
             *                      if (obj != null)
             *                              obj.RunEvents();
             *              }
             *      }
             * }
             *
             * while (Compiler.RunList.Count > 0)
             * {
             *      IRefObject obj;
             *      lock (Compiler.RunList)
             *              obj = Compiler.RunList.Dequeue();
             *      obj.Call("onCreated", null);
             * }
             */
            this.form = Abstraction.GetInstance();

            this.form.Activate();
            this.form.WriteText("--- OpenGraal Instant Messenger / Remote Control ---");
            this.serverWindow = ServerWindow.GetInstance();
            // Default PM
            this.NCMsg = CString.tokenize("I am the Framework for\nthis game server. Almost\nall npc actions are controled\nby me.");

            // Create Compiler
            //Compiler = new GameCompiler(this);

            // Create Player Manager
            //PlayerManager = new GraalPlayerList();

            // Connect to GServer
            GSConn = new Connections.GraalServer();
            NCConn = new NCConnection();

            GSConn.RunServer();

            if (this.serverWindow.nickname != null && this.serverWindow.nickname != "")
            {
                this.nickname = this.serverWindow.nickname;
            }

            if (this.serverWindow.username != null && this.serverWindow.username != "")
            {
                this.username = this.serverWindow.username;
            }

            if (this.serverWindow.password != null && this.serverWindow.password != "")
            {
                this.password = this.serverWindow.password;
            }

            if (this.serverWindow.gserver != null && this.serverWindow.gserver != "")
            {
                server = this.serverWindow.gserver;
            }

            if (this.serverWindow.gport != null && this.serverWindow.gport != 0)
            {
                this.port = this.serverWindow.gport;
            }

            //GSConn.Disconnect();
            if (!GSConn.Connected)
            {
                this.form.WriteText("Not connected, connecting...");
                this.form.WriteText("Address:\t" + this.server);
                this.form.WriteText("Port:\t\t" + this.port.ToString());
                GSConn.Connect(this.server, this.port);
            }
            else
            {
                this.form.WriteText("Already connected!");
            }

            if (GSConn.Connected)
            {
                GSConn.SendLogin(this.username, this.password, this.nickname);
            }
        }