void OnCollisionStay(Collision other)
 {
     if (other.gameObject.CompareTag("Pared"))
     {
         tocandoPared = true;
     }
     if (other.gameObject.CompareTag("BaseDeCarga"))
     {
         actuador.CargarBateria();
     }
 }
 /**
  * Metodo principal. Checa si puede avanzar en su direccion, desbloquea segun sea posible y conveniente.
  * */
 void seguimientoCiego(Vector3 lookOnObject)
 {
     distancia = Vector3.Distance(playerObject.position, transform.position);
     if (distancia <= distanceFromObject)
     {
         if (!haciaDonde)             //Si fuimos a cargar bateria, ya llegamos, cargamos y cambiamos vista.
         {
             actuador.CargarBateria();
             cambiaVista();
         }
         return;   //No necesitamos alterar nada, solo flota.
     }
     evitaMuros(); //Checa cuales caras estan disponibles para moverse en ese eje.
     if (bloqueados.Count != 0)
     {
         int toDeque = bloqueados[0];
         if (bloqueados.Contains(0))
         {
             if (!bloqueados.Contains(1))
             {
                 actuador.Ascender();
                 lookOnObject.y = 1;
                 if (candidateToMute.Contains('y'))
                 {
                     mute(1, 0);
                 }
                 if (lastDequed.Contains(1))
                 {
                     candidateToMute.Add('y');
                 }
                 if (toDeque == 0)
                 {
                     removeAt(0);
                 }
             }
         }
         else
         {
             actuador.Descender();
             if (candidateToMute.Contains('y'))
             {
                 mute(0, 1);
             }
             if (lastDequed.Contains(1))
             {
                 candidateToMute.Add('y');
             }
             if (toDeque == 1)
             {
                 removeAt(0);
             }
         }
         if (bloqueados.Contains(5))
         {
             if (!bloqueados.Contains(4))
             {
                 actuador.Izquierda();
                 if (candidateToMute.Contains('x'))
                 {
                     mute(4, 5);
                 }
                 if (lastDequed.Contains(1))
                 {
                     candidateToMute.Add('x');
                 }
                 if (toDeque == 5)
                 {
                     removeAt(0);
                 }
             }
         }
         else
         {
             actuador.Derecha();
             if (candidateToMute.Contains('x'))
             {
                 mute(5, 4);
             }
             if (lastDequed.Contains(1))
             {
                 candidateToMute.Add('x');
             }
             if (toDeque == 4)
             {
                 removeAt(0);
             }
         }
         if (bloqueados.Contains(3))
         {
             if (!bloqueados.Contains(2))
             {
                 actuador.Atras();
                 if (candidateToMute.Contains('z'))
                 {
                     mute(2, 3);
                 }
                 if (lastDequed.Contains(1))
                 {
                     candidateToMute.Add('z');
                 }
                 if (toDeque == 3)
                 {
                     removeAt(0);
                 }
             }
         }
         else
         {
             actuador.Adelante();
             if (candidateToMute.Contains('z'))
             {
                 mute(3, 2);
             }
             if (lastDequed.Contains(1))
             {
                 candidateToMute.Add('z');
             }
             if (toDeque == 2)
             {
                 removeAt(0);
             }
         }
     }
     //Si es conveniente se mueva en esa direccion, lo hace.
     if (lookOnObject.y > 0)
     {
         if (disponibles.Contains(1))
         {
             bloqueados.Remove(1);
         }
         if (!bloqueados.Contains(1))
         {
             actuador.Ascender();
         }
     }
     if (lookOnObject.y < 0)
     {
         if (disponibles.Contains(0))
         {
             bloqueados.Remove(0);
         }
         if (!bloqueados.Contains(0))
         {
             actuador.Descender();
         }
     }
     if (lookOnObject.z > 0)
     {
         if (disponibles.Contains(3))
         {
             bloqueados.Remove(3);
         }
         if (!bloqueados.Contains(3))
         {
             actuador.Adelante();
         }
     }
     if (lookOnObject.z < 0)
     {
         if (disponibles.Contains(2))
         {
             bloqueados.Remove(2);
         }
         if (!bloqueados.Contains(2))
         {
             actuador.Atras();
         }
     }
     if (lookOnObject.x > 0)
     {
         if (disponibles.Contains(5))
         {
             bloqueados.Remove(5);
         }
         if (!bloqueados.Contains(5))
         {
             actuador.Derecha();
         }
     }
     if (lookOnObject.x < 0)
     {
         if (disponibles.Contains(4))
         {
             bloqueados.Remove(4);
         }
         if (!bloqueados.Contains(4))
         {
             actuador.Izquierda();
         }
     }
 }
 void Cargarse()
 {
     actuador.Detener();
     actuador.CargarBateria();
 }