public void Fire(Controller2D.Direction dir)
 {
     firePos     = transform.position;
     fired       = true;
     box.enabled = true;
     direction   = dir;
 }
Exemple #2
0
    public override void OnButtonDown()
    {
        if (!inAttack && currentAmmo > 0)
        {
            currentAmmo--;
            inAttack = true;
            sfx.PlayOneShot(bowString);
            controller.lockDirection = true;

            arrowDir = controller.faceDir;

            switch (controller.faceDir)
            {
            case Controller2D.Direction.North:

                NorthBow.SetActive(true);
                SouthBow.SetActive(false);
                EastBow.SetActive(false);
                WestBow.SetActive(false);

                GameObject g = Instantiate(Arrow, NorthBow.transform.position, Quaternion.Euler(0, 0, 0));

                loadedArrow = g.GetComponent <Rigidbody2D>();

                g.transform.SetParent(NorthBow.transform);
                break;

            case Controller2D.Direction.South:


                NorthBow.SetActive(false);
                SouthBow.SetActive(true);
                EastBow.SetActive(false);
                WestBow.SetActive(false);


                g = Instantiate(Arrow, SouthBow.transform.position, Quaternion.Euler(0, 0, 180));

                loadedArrow = g.GetComponent <Rigidbody2D>();

                g.transform.SetParent(SouthBow.transform);


                break;


            case Controller2D.Direction.West:

                NorthBow.SetActive(false);
                SouthBow.SetActive(false);
                EastBow.SetActive(false);
                WestBow.SetActive(true);


                g = Instantiate(Arrow, WestBow.transform.position, Quaternion.Euler(0, 0, 90));

                loadedArrow = g.GetComponent <Rigidbody2D>();

                g.transform.SetParent(WestBow.transform);



                break;


            case Controller2D.Direction.East:
                NorthBow.SetActive(false);
                SouthBow.SetActive(false);
                EastBow.SetActive(true);
                WestBow.SetActive(false);



                g = Instantiate(Arrow, EastBow.transform.position, Quaternion.Euler(0, 0, -90));

                loadedArrow = g.GetComponent <Rigidbody2D>();

                g.transform.SetParent(EastBow.transform);



                break;
            }
            OnAttack();
        }
    }