public void Fire(Controller2D.Direction dir) { firePos = transform.position; fired = true; box.enabled = true; direction = dir; }
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(); } }