public bool DisablePiece(out TankArmourPickup pickup, bool spawnPickup = true) { pickup = null; if (isActive) { SetActive(false); OnDrop(); if (spawnPickup) { pickup = Instantiate(pickupPrefab, transform.position, Quaternion.identity); } return(true); } return(false); }
private List <TankArmourPickup> DetectArmourPickups() { List <TankArmourPickup> pickupsDetected = new List <TankArmourPickup>(); Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, pickupRadius); for (int i = 0; i < colliders.Length; i++) { TankArmourPickup pickup = colliders[i].GetComponent <TankArmourPickup>(); if (pickup && pickup.IsPickupValid(manager)) { pickupsDetected.Add(pickup); } } return(pickupsDetected); }