public void get_Servidor_Estado(ClienteTcp cliente, string paquete)
        {
            Cuenta cuenta = cliente.cuenta;

            string[]      separado_servidores = paquete.Substring(2).Split('|');
            ServidorJuego servidor            = cuenta.juego.servidor;
            bool          primera_vez         = true;

            foreach (string sv in separado_servidores)
            {
                string[] separador = sv.Split(';');

                int             id     = int.Parse(separador[0]);
                EstadosServidor estado = (EstadosServidor)byte.Parse(separador[1]);
                string          nombre = id == 601 ? "Eratz" : "Henual";

                if (id == cuenta.configuracion.get_Servidor_Id())
                {
                    servidor.actualizar_Datos(id, nombre, estado);
                    cuenta.logger.log_informacion("LOGIN", $"El servidor {nombre} esta {estado}");

                    if (estado != EstadosServidor.CONECTADO)
                    {
                        primera_vez = false;
                    }
                }
            }

            if (!primera_vez && servidor.estado == EstadosServidor.CONECTADO)
            {
                cliente.enviar_Paquete("Ax");
            }
        }
Beispiel #2
0
        public Task get_Servidor_Estado(ClienteTcp cliente, string paquete) => Task.Run(async() =>
        {
            Cuenta cuenta = cliente.cuenta;
            string[] separado_servidores = paquete.Substring(2).Split('|');
            ServidorJuego servidor       = cuenta.juego.servidor;
            bool primera_vez             = true;

            foreach (string sv in separado_servidores)
            {
                string[] separador = sv.Split(';');

                int id = int.Parse(separador[0]);
                EstadosServidor estado = (EstadosServidor)byte.Parse(separador[1]);
                string nombre          = cuenta.configuracion.get_Servidor_Nombre(id);

                if (nombre.Equals(cuenta.configuracion.servidor))
                {
                    servidor.actualizar_Datos(id, nombre, estado);
                    cuenta.logger.log_informacion("LOGIN", $"El servidor {nombre} esta {estado}");

                    if (estado != EstadosServidor.CONECTADO)
                    {
                        primera_vez = false;
                    }
                }
            }

            if (!primera_vez && servidor.estado == EstadosServidor.CONECTADO)
            {
                await cliente.enviar_Paquete_Async("Ax");
            }
        });
Beispiel #3
0
        public Task get_Lista_Servidores(ClienteTcp cliente, string paquete) => Task.Run(async() =>
        {
            Cuenta cuenta          = cliente.cuenta;
            ServidorJuego servidor = cuenta.juego.servidor;
            string[] loc5          = paquete.Substring(3).Split('|');
            int contador           = 1;
            bool seleccionado      = false;

            while (contador < loc5.Length && !seleccionado)
            {
                string[] _loc10_ = loc5[contador].Split(',');
                int id           = int.Parse(_loc10_[0]);

                if (id == servidor.id)
                {
                    if (servidor.estado == EstadosServidor.CONECTADO)
                    {
                        seleccionado = true;
                        cuenta.juego.personaje.evento_Servidor_Seleccionado();
                    }
                    else
                    {
                        cuenta.logger.log_Error("LOGIN", "Servidor no accesible cuando este accesible se re-conectara");
                    }
                }
                contador++;
            }

            if (seleccionado)
            {
                await cliente.enviar_Paquete_Async($"AX{servidor.id}", true);
            }
        });
Beispiel #4
0
 internal Juego(Cuenta cuenta)
 {
     servidor  = new ServidorJuego();
     mapa      = new Mapa();
     personaje = new PersonajeJuego(cuenta);
     manejador = new Manejador(cuenta, mapa, personaje);
     pelea     = new Pelea(cuenta);
 }
        public void get_Servidor_Estado(ClienteTcp cliente, string paquete)
        {
            Cuenta cuenta = cliente.cuenta;

            string[] array = paquete.Substring(2).Split(new char[]
            {
                '|'
            });
            ServidorJuego servidor = cuenta.juego.servidor;
            bool          flag     = true;

            foreach (string text in array)
            {
                string[] array3 = text.Split(new char[]
                {
                    ';'
                });
                int    num   = int.Parse(array3[0]);
                string text2 = "Issering";
                switch (num)
                {
                case 601:
                    text2 = "Eratz";
                    break;

                case 602:
                    text2 = "Henual";
                    break;

                case 603:
                    text2 = "Nabur";
                    break;

                case 604:
                    text2 = "Arty";
                    break;

                case 605:
                    text2 = "Algathe";
                    break;

                case 606:
                    text2 = "Hogmeiser";
                    break;

                case 607:
                    text2 = "Droupik";
                    break;

                case 608:
                    text2 = "Ayuto";
                    break;

                case 609:
                    text2 = "Bilby";
                    break;

                case 610:
                    text2 = "Clustus";
                    break;

                case 611:
                    text2 = "Issering";
                    break;
                }
                EstadosServidor estadosServidor = (EstadosServidor)byte.Parse(array3[1]);
                bool            flag2           = num == cuenta.configuracion.get_Servidor_Id();
                if (flag2)
                {
                    servidor.actualizar_Datos(num, text2, estadosServidor);
                    cuenta.logger.log_informacion("LOGIN", string.Format("Le serveur {0} est {1}", text2, estadosServidor));
                    bool flag3 = estadosServidor != EstadosServidor.CONNECTE;
                    if (flag3)
                    {
                        flag = false;
                    }
                }
            }
            Console.WriteLine("servidor.estado");
            Console.WriteLine(flag);
            bool flag4 = !flag && servidor.estado == EstadosServidor.CONNECTE;

            if (flag4)
            {
                cliente.enviar_Paquete("Ax", false);
            }
        }