// desactiva todas las trampas una vez se recoge el anillo de la misma public void Trampas() { TrampasManager trampas = GetComponentInChildren<TrampasManager>(); trampas.DestruirCollider(); trampas.DesactivarTrampas(); }
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); } } }
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); } }