Ejemplo n.º 1
0
 void atacar()
 {
     if (deteccion)
     {
         procesoAlarma();
         if (arma != null)
         //arma.reposicionar();
         {
             if (arma.IsBobyToBody())
             {
                 //corra al enemigo usar A*
                 if (puntosDePatrulla != null)
                 {
                     patrullar();
                 }
                 arma.ataque();
             }
             else if (arma.getMunicionDisponible() != 0)
             {
                 // if (ojos.esAlcanzableArma(arma.getAlcance())) { anim.SetBool("attack", true); arma.ataque(); }
             }
             else
             {
                 arma.gameObject.transform.SetParent(null);
                 arma = null;
             }
         }
     }
 }
Ejemplo n.º 2
0
    void FixedUpdate()
    {
        if (!murio())
        {
            Rotar();

            float input_x = Input.GetAxisRaw("Horizontal");                 //Se captura movimiento horizontal

            float input_y = Input.GetAxisRaw("Vertical");                   //Se captura movimiento vertical

            bool isWalking = (Mathf.Abs(input_x) + Mathf.Abs(input_y)) > 0; //condicion directa

            anim.SetBool("isWalking", isWalking);                           //le paso al animator el booleano

            if (isWalking)
            {                                //¿Esta Caminando?
                anim.SetFloat("x", input_x); //Le paso al animator el nuevo estado de la variable x
                anim.SetFloat("y", input_y);
                input_x *= 3;
                input_y *= 3;
                Vector3 v = new Vector3(input_x, input_y, 0).normalized *Time.deltaTime; //se normaliza por el delta de tiempo para que el movimiento vaya acorde al tiempo de la escena
                v = v * velocidad;                                                       //Para poder encontrar personajes con diferentes velocidades
                transform.position += v;                                                 //Se altera la posicion del personaje
            }

            if (arma != null)
            {//si  tiene arma
                arma.reposicionar();
                if (arma.IsBobyToBody())
                {
                    if (Input.GetButtonDown("Fire1"))
                    {
                        arma.ataque();
                    }
                }
                else
                {
                    if (Input.GetButton("Fire1"))
                    {
                        arma.ataque();
                        ComprobrarVisulizacion();
                    }
                }
                if (Input.GetButtonUp("Fire2"))//soltar el arma
                {
                    arma.gameObject.transform.SetParent(null);
                    arma = null;
                }
            }
            else
            {
                if (Input.GetButtonDown("Fire1"))
                {
                    Invoke("ataque", 1f);
                    //Ataque cuerpo acuerpo
                }
                if (Input.GetButtonUp("Fire1"))
                {
                    //anim.SetBool("Attack", false);
                }
                if (Input.GetButtonUp("Fire2"))
                {//recoger arma
                    if (puedoRecoger)
                    {
                        armaArecoger.transform.SetParent(transform);
                        arma = BusquedaHijos.buscarHijoPorTag(gameObject, "Weapon").GetComponent <Arma>();
                        arma.reposicionar();
                        // RelativeJoint2D union = new RelativeJoint2D();
                    }
                }
            }
        }
    }