void SpawnPickup() { if (!rollForSpawn(pickupSpawnChance)) { return; } int lanePosition = RollLane(); int objType = RollObjType(PickupManager.Manager.ObjectTypes.Count); pickup = PickupManager.Manager.GetObject(objType); if (pickup == null) { pickup = Instantiate(PickupManager.Manager.ObjectTypes[objType], Vector2.zero, Quaternion.identity); PickupManager.Manager.AddObject(pickup); pickup.pickedUp.AddListener(PickupManager.Manager.PoolObject); } pickup.transform.position = new Vector2(ObjSpawnPoint.position.x, Lanes.GetLane(lanePosition).transform.position.y); pickup.LaneNo = lanePosition; pickup.ChangeOrder(); pickup.pickedUp.AddListener(onPickupCollected); }