// desactiva todas las trampas una vez se recoge el anillo de la misma
 public void Trampas()
 {
     TrampasManager trampas = GetComponentInChildren<TrampasManager>();
     trampas.DestruirCollider();
     trampas.DesactivarTrampas();
     
     }
예제 #2
0
 static void LoadObjects(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             Session.User.Sala.LoadObjects(Session);
             Packet_175(Session);
             if (Session.User.Sala.Escenario.es_categoria == 2)
             {
                 if (Session.User.Sala.Ring != null)
                 {
                     Session.User.Sala.Ring.Cargar_Contador(Session);
                 }
                 if (Session.User.Sala.Cocos != null)
                 {
                     Session.User.Sala.Cocos.Cargar_Contador(Session);
                 }
                 if (Session.User.Sala.Sendero != null)
                 {
                     Session.User.Sala.Sendero.Cargar_Contador(Session);
                 }
                 if (Session.User.Sala.Camino != null)
                 {
                     Session.User.Sala.Camino.Cargar_Contador(Session);
                 }
             }
             if (Session.User.Sala.Ring != null || Session.User.Sala.Cocos != null || Session.User.Sala.Sendero != null || Session.User.Sala.Camino != null)
             {
                 return;
             }
             TrampasManager.ObtenerTrampas(Session);
             ConcursosManager.Encontrar_Objetos(Session, Session.User.Sala);
         }
     }
 }
예제 #3
0
 static void Pathfinder()
 {
     while (true)
     {
         try
         {
             foreach (SessionInstance Session in UserManager.UsuariosOnline.Values.ToList())
             {
                 if (Session.User.Sala == null)
                 {
                     continue;
                 }
                 if (Session.User.Trayectoria == null)
                 {
                     continue;
                 }
                 if (Session.User.Trayectoria.Movimientos.Count == 0)
                 {
                     continue;
                 }
                 if (Session.User.PreLock_Interactuando == true)
                 {
                     continue;
                 }
                 if (Session.User.PreLock_Caminando == true)
                 {
                     continue;
                 }
                 if (Session.User.Sala.PathFinder == false)
                 {
                     continue;
                 }
                 if (Session.User.contar_pasos > 0)
                 {
                     Session.User.contar_pasos--;
                 }
                 Posicion SiguienteMovimiento = Session.User.Trayectoria.SiguienteMovimiento();
                 if (!Session.User.Trayectoria.MovementIsVerifield(SiguienteMovimiento))
                 {
                     continue;
                 }
                 if (SiguienteMovimiento.y < Session.User.Sala.MapSizeY && SiguienteMovimiento.x < Session.User.Sala.MapSizeX)
                 {
                     if (Session.User.Sala.Caminable(SiguienteMovimiento))
                     {
                         Session.User.Sala.Map[Session.User.Posicion.y, Session.User.Posicion.x].FijarSession(null);
                         Session.User.PreLock_Caminando = true;
                         Session.User.Posicion          = SiguienteMovimiento;
                         Session.User.Sala.Map[Session.User.Posicion.y, Session.User.Posicion.x].FijarSession(Session);
                         ServerMessage server = new ServerMessage();
                         server.AddHead(182);
                         server.AppendParameter(1);
                         server.AppendParameter(Session.User.IDEspacial);
                         server.AppendParameter(SiguienteMovimiento.x);
                         server.AppendParameter(SiguienteMovimiento.y);
                         server.AppendParameter(SiguienteMovimiento.z);
                         server.AppendParameter(750);
                         server.AppendParameter((Session.User.Trayectoria.Movimientos.Count >= 1 ? 1 : 0));
                         Session.User.Sala.SendData(server, Session);
                         new Thread(() => ConcursosManager.BuscarObjetoCaido(Session, Session.User.Sala)).Start();
                         new Thread(() => TrampasManager.BuscarTrampa(Session)).Start();
                         new Thread(() => SalasManager.bosque_oso(Session)).Start();
                         if (Session.User.Sala.Sendero != null)
                         {
                             new Thread(() => Session.User.Sala.Sendero.VerificarMovimiento(Session)).Start();
                         }
                     }
                     else
                     {
                         Session.User.Trayectoria.Movimientos.Clear();
                         Session.User.Trayectoria.BuscarOtroSendero();
                     }
                 }
                 else
                 {
                     Session.User.Trayectoria.Movimientos.Clear();
                     Session.User.Trayectoria.BuscarOtroSendero();
                 }
             }
         }
         catch
         {
             continue;
         }
         Thread.Sleep(1);
     }
 }