public void PurchaseBuyable(BuyableDefinition buyable, PlayerController player, bool deductCash) { if (deductCash) { if (player.cashAmount < buyable.Cost) return; player.DeductCash(buyable.Cost); } GameObject item = (GameObject)GameObject.Instantiate(buyable.Object, player.transform.position, player.transform.rotation); if (buyable.Type == PurchaseType.Weapon) { BaseWeapon w = item.GetComponent<BaseWeapon>(); player.ForcePickupWeapon(w); } else if (buyable.Type == PurchaseType.Item) { BaseItem i = item.GetComponent<BaseItem>(); player.ForcePickupItem(i); } }