private void PerformAction() { GameObject unit = _unitSelector.SelectUnit(UnitSource.GetAvailableUnitPrefabs().Where(x => x.GetComponent <Unit>().Cost <= Credits)); if (unit) { Vector3 position = _positionSelector.SelectPosition(new Vector3[] { Fortress.position }, GetUnitPlacementCheckSize(unit)); TryPurchaseAndPlaceUnit(unit, position, transform.rotation); } }