예제 #1
0
    public void NoAtacar()
    {
        NoataqueBut.SetActive(false);
        AtaqueBut.SetActive(false);
        Camera.main.orthographicSize   = camaraHeight;
        Camera.main.transform.position = camPos;
        var script = gObj.GetComponent <Personajes>();

        script.enemigos.Clear();
        script.Lista.Clear();
        script.mago.turno = false;
        gObj = null;
        MostarAEbut.SetActive(true);
        atacando = false;
    }
예제 #2
0
    public void MoverBut()
    {
        /* para evitar error, no se puedde acceder a su funcionalidad no hay un personaje seleccionado
         * se mueve el padre del fantasma, es decir al personaje bien iluminado a la posicion del fantasma,
         * y para no mover tambien al fantasma se reinicia su transform, asi estara justo donde este el personaje
         * y la variable de los pasos se reinicia.
         */
        if (gObj != null)
        {
            Vector3 moverPos = gObj.transform.position;
            moverPos.z = -1;
            gObjParent.transform.position = moverPos;
            gObj.transform.localPosition  = new Vector3();
            GameObject posibles = GameObject.Find("Posibles");
            for (int i = 0; i < posibles.transform.childCount; i++)
            {
                Destroy(posibles.transform.GetChild(i).gameObject);
            }
            var script = gObj.GetComponent <Personajes>();
            script.Lista.Clear();
            atacando = script.ChecarR();
            if (atacando)
            {
                camaraHeight = Camera.main.orthographicSize;
                camPos       = Camera.main.transform.position;
                Camera.main.orthographicSize   = 3;
                Camera.main.transform.position = new Vector3(gObj.transform.position.x, gObj.transform.position.y, Camera.main.transform.position.z);
                NoataqueBut.SetActive(true);
            }
            else
            {
                script.enemigos.Clear();
                script.Lista.Clear();
                script.mago.turno = false;
                gObj = null;
                MostarAEbut.SetActive(true);
            }
        }
        CancelarButt.SetActive(false);
        MoverButt.SetActive(false);
        var enemigos = FindObjectsOfType <Enemigo>();

        foreach (Enemigo enemigo in enemigos)
        {
            enemigo.QuitarAtacZone();
        }
    }
예제 #3
0
    public void Atacar()
    {
        var script = gObj.GetComponent <Personajes>();

        print(script.enemigos.Count);
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
        {
            RaycastHit2D hit2D = GenerarRay();
            if (script.enemigos.Contains(hit2D.collider.gameObject))
            {
                Destroy(hit2D.collider.gameObject.transform.parent.gameObject);
                atacando = false;
                NoataqueBut.SetActive(false);
                Camera.main.orthographicSize   = camaraHeight;
                Camera.main.transform.position = camPos;
                script.enemigos.Clear();
                script.Lista.Clear();
                script.mago.turno = false;
                gObj = null;
                MostarAEbut.SetActive(true);
            }
        }
    }